在程式設計的時候經常會用到多執行緒,有時候如果多執行緒操作同乙個資源就會導致衝突,.net提供了多種方法來防止衝突發生,這裡講下mutex
該類位於system.threading命名空間,常用的方式是這樣:
var mutex = new mutex(true, "test
", out
var flag);
引數分別是:
1:給呼叫執行緒賦予互斥體的初始所屬權
2:鎖名稱
3:如果呼叫執行緒已被授予互斥體的初始所屬權,則返回true
notice:這個鎖的有效範圍是全系統
也就是說不同程序之間如果鎖名稱相同會互相影響.使用時需要注意這點.
**:
staticvoid main(string
args)
console.readkey(
true
); }
private
static
void
th()
else
}mutex.releasemutex();
}}
c 中使用多執行緒
using system using system.drawing using system.collections using system.componentmodel using system.windows.forms using system.data using system.threa...
c 中使用多執行緒
using system using system.drawing using system.collections using system.componentmodel using system.windows.forms using system.data using system.threa...
多執行緒中使用Invoke函式防止資源訪問衝突
剛學c 用部落格的形式把自己的學習心得記錄下來,這是我的第一篇文章,哈哈,如果有什麼問題,可以指出。前段時間寫了乙個串列埠收發的c 窗體應用程式,因為串列埠收發是在後台執行的,所以開了乙個執行緒專門用於收發,建立執行緒的語句如下 private thread mworkthread mworkthr...