ManualResetEven小知識點

2021-08-01 23:34:30 字數 1373 閱讀 2477

關於manualreseteven簡單用法:

一、建構函式

// 摘要:

//用乙個指示是否將初始狀態設定為終止的布林值初始化 system.threading.manualresetevent 類的新例項。

// 引數:

// initialstate:

// 如果為 true,則將初始狀態設定為終止;如果為 false,則將初始狀態設定為非終止。

public

manualresetevent(bool initialstate);

在例項化manualresetevent的時候需要傳initialstate(true/false)的值,如果傳initialstate的值為true

表示該manualresetevent的例項是終止狀態,該manualresetevent是終止狀態的情況下呼叫waitone方法的時候是不起作用;如果initialstate的值為 false即非終止狀態,當initialstate為false的時候呼叫waitone方法才會有執行緒堵塞,效果如下圖:

1.manualresetevent例項的時候引數為true呼叫waitone情況(呼叫waitone方法是不起作用沒有堵塞執行緒效果)

2.manualresetevent例項的時候引數為false呼叫waitone情況(呼叫waitone方法是作用堵塞執行緒效果)

二、需要理解和掌握的幾個方法

1.waione

阻止當前執行緒,直到收到訊號(當然初始化狀態需要為false)

waitone有幾個過載方法,通過時間進行waitone,如果超時就不阻塞了.

其他幾個版本:msdn位址

2.set

將事件狀態設定為終止狀態,允許乙個或多個等待執行緒繼續。

3.reset

將事件狀態設定為非終止狀態,導致執行緒阻止。

多執行緒中的ManualResetEvent

先來看一下簡單的多執行緒控制台程式 using system using system.threading namespace manualreseteventstudy static void t2 static void main string args console.read 入口方法mai...

python小知識 Python小知識

1 python是一種解釋性語言,當程式執行時,一行一行的解釋,並執行 優點 除錯 很方便,開發效率高,並且可以跨平台 不但入門容易,而且將來深入下去,可以編寫那些非常非常複雜的程式。缺點 執行速度慢。python的種類 cpython ipython pypy jython ironpython ...

python小知識 python小知識

一 列表 l 1,2 m l l和m同時指向列表物件,內容為 1,2 l l 3,4 系統新增了乙個物件,內容為 1,2,3,4 l,m 1,2,3,4 1,2 l 1,2 m l l 3,4 對列表在原處做修改 l,m 1,2,3,4 1,2,3,4 二 python程式設計中的中文編碼問題 問題...