有什么方法或工具可以用来验证我的API在Java中是否是线程安全的?

zjf*_*fdu 8 java concurrency multithreading thread-safety

我制作了一个工具并为外部世界提供了一个API,但我不确定它是否是线程安全的.因为用户可能希望在多线程环境中使用它.有什么方法或工具可以用来验证我的API在Java中是否是线程安全的?

Arn*_*sch 17

.没有这样的工具.证明复杂程序是线程安全的是非常困难的.

您必须非常仔细地分析您的程序,以确保线程安全.考虑购买"实践中的Java并发"(java中并发性的非常好的解释).


Pét*_*rök 6

压力测试PMDFindBugs等静态分析工具可以发现代码中的一些并发错误.所以这些都表明,如果你的代码是不是线程安全的.然而,他们永远无法证明它是否是线程安全的.

最有效的方法是由并发经验的开发人员进行彻底的代码审查.