我已经在C#上实现了并发循环缓冲区,现在想要测试它的工作。我有非常简单的API -- void Write(T element)和T Read()。我正在寻找一个好的例子,如何测试所有可能的用例和检测所有可能的错误,包括竞态condition.Simple交替写入和读取两个线程似乎不是一个好主意,因为我们无法控制来自不同线程的API调用的顺序。
发布于 2012-11-18 00:53:08
其中一个用例应该包括写入缓冲区(不从缓冲区读取),直到缓冲区满为止。
如果您的测试用例实现了来自同一线程的读取和写入,那么您可以控制读取/写入的顺序。
我喜欢多线程代码中的线程安全实现足够简单,可以“通过检查”来验证,也就是通过代码审查(而不仅仅是通过测试)。
https://stackoverflow.com/questions/13432515
复制相似问题