我在C++中编写了一个线程安全的(至少目标是这样的)容器类。我在访问成员时锁定互斥体,并在完成时释放。 现在,我试着编写一个测试用例,如果它真的是线程安全的。 比方说,我有Container容器和两个线程Thread1 Thread2。如何编写测试用例以确保线程安全
Container container;
Thread1()
{
//Add N items to the container
}
Thread2()
{
//Add N items to the container
}
以这种方式,它在N = 1000时没有问题。
但我不确定这个回归测试是否足够。有没有一种确定的方法来测试这样的类?
谢谢。
捕捉一些竞争条件的好方法,但它也可能隐藏其他人。有没有保证的方式来验证没有竞争条件,写几个测试,而@Grimmy建议应该肯定是其中之一。 – jalf 2010-07-15 10:45:09