如题:我想实现线程中,等待某一个事件,当没有时间发生的时候,超过设置了时间,则就继续往下执行。
如  WaitForSingleObject(hEvent,3000);
  如果有信号发生,则立即执行,否则阻塞3秒钟继续执行。

解决方案 »

  1.   

    http://msdn.microsoft.com/en-us/library/system.threading.semaphore.aspx
      

  2.   

    C#把api封装为类System.Threading.AutoResetEvent和System.Threading.ManualResetEvent            AutoResetEvent myEvent = new AutoResetEvent(false);
                myEvent.WaitOne(1000);
      

  3.   

    myEvent.WaitOne(1000) 有返回值,true:信号量获得了,false: 等待了1000ms而没有获得。