我有一个运行中的C ++应用程序,在不同的线程中使用相同的变量和对象,而无需考虑后果。我想将应用程序改进为线程安全的(使用mutex
,atomic
等)-如何测试我想实际实现的东西工作吗?
我的意思是,没有此操作,我的应用程序已经可以正常工作-但我很确定它可以正常工作,因为尚未发生可能的错误,而不是因为我做了一些预防错误的操作。
答案 0 :(得分:0)
测试任何未定义行为的方式相同。编写全面的测试,使用消毒剂进行测试,并希望取得最好的成绩。
特别是为了线程安全,您需要编写对共享数据进行并行操作并使用线程清理工具的测试。
请始终记住,没有任何测试足以证明程序中没有未定义的行为。