标签: c multithreading data-structures concurrency synchronization
你如何实际测试同步数据结构(在C中)?
启动几个线程并让他们竞争访问该结构一段时间以查看是否出现任何问题并不是非常安全。
编辑回应评论:我的意思是有几个线程运行在同一组数据上运行的函数,带有某种同步策略(标志/信号量/无锁CAS /等),可能会消除竞争条件和死锁。问题是以编程方式测试工人的正确同步。
答案 0 :(得分:4)
没有人真的知道如何以100%的可靠性做到这一点。 Here只是查找并发错误的测试工具的一个示例。