WaitOne
方法在 C# 中用于等待一个信号量、互斥量、自动重置事件或等待句柄变为有信号状态。其参数是超时时间,以毫秒为单位。如果在指定的时间内信号量变为有信号状态,WaitOne
方法将立即返回;否则,它将返回 false
。
例如,以下代码将等待一个互斥量最多 500 毫秒:
ManualResetEvent mres = new ManualResetEvent(false);
// 在某个线程中设置信号量
mres.Set();
// 在另一个线程中等待信号量
bool result = mres.WaitOne(500); // 最多等待 500 毫秒
在这个例子中,如果信号量在 500 毫秒内变为有信号状态,WaitOne
方法将返回 true
;否则,它将返回 false
。