标签: multithreading api-design
我从一个外部开发人员那里以一个定义良好的API(用C ++和Java)的形式收到了一个库。可以通过一些测试来检查库是否是线程安全的?
答案 0 :(得分:3)
基本上你不能,测试线程安全性或多或少是不可能的。
而且,如果您没有作者保证库是线程安全的,那么他们就不会修复线程问题,因此未来版本的线程安全性会降低。
如果您有源代码,那么您可以调查常见的线程安全问题:共享状态,锁定等。但是如果您只有二进制文件,那么您最好希望显示库是不是线程安全的。即使这样可靠地再现问题也可能非常困难。