摘要: AutoResetEvent允许线程通过发信号互相通信。通常,此通信涉及线程需要独占访问的资源。线程通过调用AutoResetEvent上的WaitOne来等待信号。如果AutoResetEvent处于非终止状态,则该线程阻塞,并等待当前控制资源的线程通过调用Set发出资源可用的信号。调用Set向AutoResetEvent发信号以释放等待线程。AutoResetEvent将保持终止状态,直到一个正在等待的线程被释放,然后自动返回非终止状态。如果没有任何线程在等待,则状态将无限期地保持为终止状态。可以通过将一个布尔值传递给构造函数来控制AutoResetEvent的初始状态,如果初始状态为终止 阅读全文
posted @ 2014-02-14 23:19 gejianhua 阅读(1381) 评论(0) 推荐(0) 编辑
摘要: 先看一段代码:publicclassWaitHandlerExample {publicstaticAutoResetEvent waitHandler;publicstaticManualResetEvent manualWaitHandler;publicstaticvoidThreadPoolMain() {waitHandler =newAutoResetEvent(false);manualWaitHandler =newManualResetEvent(false);// Queue the task.ThreadPool.QueueUserWorkItem(newWaitCall 阅读全文
posted @ 2014-02-14 23:18 gejianhua 阅读(344) 评论(0) 推荐(0) 编辑