java – 如何为多线程应用程序创建测试环境

前端之家收集整理的这篇文章主要介绍了java – 如何为多线程应用程序创建测试环境前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所有,

最近我开发了一个代码,据说是一个线程安全的类.现在我说’所谓’的原因是因为即使在使用sync’ed块,不可变数据结构和并发类之后,由于JVM的线程调度环境,我无法在某些情况下测试代码.即我只在纸上有测试用例,但无法复制相同的测试环境.是否有任何具体的指导或有经验的成员在这里可以分享如何测试多线程环境.

解决方法

首先,你不能确保只测试你的类是完全线程安全的.无论您运行什么测试,您仍然需要尽可能多的经验丰富的眼睛审查您的代码,以检测细微的并发问题.

也就是说,您可以设计特定的测试场景,尝试覆盖所有可能的线程间时序场景,就像您所做的那样.对于这方面的想法(以及一般的设计线程安全类),建议阅读Java Concurrency in Practice.

此外,您可以运行压力测试,在较长时间内同时执行多个线程.线程数应该超过合理的限制,以确保经常发生线程争用 – 这会增加潜在的并发错误随着时间的推移而出现的可能性.

猜你在找的Java相关文章