我在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