我知道如何使用ManualResetEvent或同步原语(如Monitor)等待事件和/或锁定,但我想知道是否有一种方法可以实现以下内容:
ManualResetEvent resetEvent;
public string WaitForOneThousandMs()
{
resetEvent.Wait(1000);
if (WaitTime(resetEvent) <= 1000)
return "Event occured within 1000ms.";
else
return "Event did not occur within 1000ms.";
}
1)等待1000毫秒以触发事件X。
2)如果事件在1000毫秒内发生,则执行路径A。
3)否则,执行路径B。
这基本上是一个有条件的等待函数,其中条件是我们需要等待多长时间。如何实现最佳?