public static RegisteredWaitHandle RegisterWaitForSingleObject ( WaitHandle waitObject, WaitOrTimerCallback callBack, Object state, int millisecondsTimeOutInterval, bool executeOnlyOnce )
第一个参数是waithandle类。一般是autoresetevent或者manuresetevent。 第二个是一个委托,签名如下public delegate void WaitOrTimerCallback (
Object state, bool timedOut ) 第三个参数传入该委托。 第四个是间隔时间。 第五个是是否只执行一次。
RegisterWaitForSingleObject 方法检查指定对象的 WaitHandle 的当前状态,如果对象状态为非终止状态,则方法将注册一个等待操作。此等待操作由线程池中的一个线程来执行。当对象状态变为终止或超时间隔已过期时,委托由辅助线程执行。如果 timeOutInterval 参数不为零 (0) 并且 executeOnlyOnce 参数为 false,则每当事件收到信号或超时间隔已过时都会重置计时器。