检查库/ API是否是线程安全的通用方法

时间:2009-11-01 08:46:54

标签: multithreading api-design

我从一个外部开发人员那里以一个定义良好的API(用C ++和Java)的形式收到了一个库。可以通过一些测试来检查库是否是线程安全的?

1 个答案:

答案 0 :(得分:3)

基本上你不能,测试线程安全性或多或少是不可能的。

而且,如果您没有作者保证库是线程安全的,那么他们就不会修复线程问题,因此未来版本的线程安全性会降低。

如果您有源代码,那么您可以调查常见的线程安全问题:共享状态,锁定等。但是如果您只有二进制文件,那么您最好希望显示库是不是线程安全的。即使这样可靠地再现问题也可能非常困难。