考虑一下我已经通过了两个ManualEventReset instances
public void MyApiCall(ManualResetEvent ev1, ManualResetEvent ev2)
{
//my code
}
现在,我必须'WaitOne
'任何一个(无论其中哪一个,我需要在其中一个提出信号时继续)。有可能不改变api?
其中一个解决方案是自旋锁:
while (!ev1.WaitOne(0) && !ev1.WaitOne(0))
{
Thread.Sleep(500);
}
但我想知道是否有更好的解决方案。