Windows API"国际象棋计时器"Sepmaphore事件

Mik*_*der 0 c++ events semaphore

有没有像国际象棋计时器一样工作的电话机,意思是;

线程A完成其任务,循环回到顶部并调用信号量

这会触发线程2继续执行其代码,循环回到顶部并调用信号量

这会触发线程A ......

所以信号量既阻塞又信令.

我知道我可以使用两个事件和WaitForSingleObject,但我想知道是否有一个信号量专门做这个?

在这个主题上,一个事件的"昂贵"程度如何,在内存和CPU方面,WaitForSingleObject()的"代价"是多么"昂贵"?

Sin*_*ion 5

嗯......你确定你需要两个线程吗?听起来你的共同惯例不能同时运行,至少如果我理解了这个比喻.如果是这种情况,请将它们放在同一个线程中.

while (true)
{
    task1();
    task2();
}
Run Code Online (Sandbox Code Playgroud)