【发布时间】:2015-05-08 10:37:36
【问题描述】:
假设我有一个具有以下接口的类:
class IEvent
{
void SetEvent() = 0;
void WaitForEvent() = 0;
}
WaitForEvent() 是一个阻塞函数,它一直等到另一个线程调用SetEvent() 函数。
我正在为这个类编写单元测试,并且想要以下场景:
第一个线程调用WaitForEvent()。在第二个线程调用SetEvent() 之后。
如何同步SetEvent()调用将始终跟随WaitForEvent()调用的线程?
我不想使用任何睡眠,因为我希望单元测试尽可能快地运行。
【问题讨论】:
-
这对我测试类似情况很有帮助:stackoverflow.com/questions/10767131/…
-
你正在为一个接口编写单元测试?
-
不,我有一个实现。而实际的界面更加复杂。但这对那个问题来说是不必要的。
标签: c++ multithreading testing concurrency