關於Multex的應用說明

2022-07-10 20:15:09 字數 1360 閱讀 2543

關於multex的應用說明

mutex是乙個互斥的同步物件,同一時間僅有乙個執行緒可以獲得他。

他適合於乙個共享資源每次都只能被乙個執行緒訪問的情況。

看例子:

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading;

namespace

myttcon

class

incthread

void

run()

while (number > 0

); console.writeline(thrd.name + "

釋放 the nmutex");

//釋放

shareres.mutex.releasemutex();}}

class

decthread

void

run()

while (number > 0

); console.writeline(thrd.name + "

釋放 the nmutex");

//釋放

shareres.mutex.releasemutex();}}

class

program}}

以上**是摘抄自:

下面說明如下:

1) incthread物件啟動乙個執行緒,互斥體它先獲得,所以執行後面的操作。直到釋放。

decthread物件後啟動乙個執行緒,等上面的執行緒釋放互斥體後,他又可以得到了,這樣就可以執行後面的**了,結果如下:

2) 如果把主程式中的incthread與decthread顛倒,先執行decthread,結果就會不一樣,decthread就會先得到互斥體,結果如下:

3) 如果互斥體的構造函式引數為true,表示的就是第乙個獲得他的執行緒擁有它,如果這個執行緒釋放了它後,如果這個執行緒又結束了,那麼其他執行緒如果再次獲得他會報錯:

如果這個執行緒沒有結束,那麼其他執行緒也一直獲取不到這個互斥體,陷入死迴圈。

jQuery關於 each 的應用說明

jquery中 each 方法的使用 each 是對陣列,json和dom結構等的遍歷,說一下他的使用方法吧。1 遍歷一維陣列 var arr1 aa bb cc dd each arr1,function i,val 輸出的結果為 0aaa,bbb 0 aaa 1 bbb 1ccc,ddd 0cc...

關於makefile的簡單應用模板及說明

makefile 表示所有的依賴目標集 也就是 main.c code.c 表示目標集 也就是 main.o code.o phony 偽目標 偽目標 的取名不能和檔名重名,不然其就失去了 偽目標 的意義了 為了避免和檔案重名的這種情況,我們可以使用乙個特殊的標記 phony 來顯示地指明乙個目標是...

關於協議的說明

在object c中,委託和資料來源都是由協議實現的。定義協議的方式與定義類的類的方式非常相似。cpp view plain copy protocol myprotocol void firstmethod void secondmethod end 這個類,本應實現firstmethod 和 s...