1樓:匿名使用者
lock是鎖住執行緒吧,用protect和final不給呼叫算不。
2樓:匿名使用者
恩,可以的。
先定義lock物件。
object objlock = new object();
在lock塊中呼叫一個函式。
lock(objlock)
3樓:
可以啊 放在lock塊裡。。
還有一種執行緒同步一系統的方法。。比如用monitor mutex一系統的方法 用來實現執行緒之間的同步。
防止死鎖。
4樓:匿名使用者
我覺得可以加鎖,但是有什麼意義嗎。
有關c#的加鎖控制多執行緒操作具體如何實現、
5樓:匿名使用者
加鎖主要用於鎖住引用型的公共變數,比如class ,string ,而值型別的變數,如int ,struct是不能用鎖的,用法超簡單,就一個lock,舉例如下:
string str;
private void changestr()}lock裡面儘量少放東西,否則影響效率。
c#多執行緒怎麼鎖定全域性變數
6樓:du瓶邪
public static object locker = new object();新增一個物件作為鎖。
就是在有修改的時候加上lock
lock (locker)//鎖。
lock (locker)//鎖。
7樓:匿名使用者
借鑑設計模式中的單例模式,可以先宣告一個無關變數sync,進行操作前。
lock(sync)
單例模式不是直接鎖定例項變數instance,是因為可能還沒有生成該例項,你這個應該可以直接鎖定dictionary
8樓:sk蓮華生輝
方法還是很多的,例如:
public static dictionarydictionary = new dictionary();
public static object locker = new object();新增一個物件作為鎖。
public static void addrecord()/執行緒1迴圈呼叫此函式。
}public static void deleterecord()/執行緒2迴圈呼叫此函式。
}至於執行緒的呼叫過程就不寫了,你根據實際情況操作吧。
c# timer lock 多執行緒 的幾點疑問。
9樓:陽光的雷咩咩
大部分算是對了的,但是你似乎沒明確lock的目的。
timer與lock似乎沒什麼關係。
因為lock就像鑰匙,需要大家都可以訪問、且唯一的屬性你如何確定label屬性沒問題,恰恰相反,我可以給你寫出有問題的程式。你可以定義個全域性整數cnt,初始為0,開啟n個執行緒,同時對label執行獲取和設定text屬性的操作,設定前加個判斷,假如其text不為x,則賦為x,並讓cnt++。最後理論上cnt只可能為1,但實際上可能不止。
c#多執行緒 一個緩衝佇列,一個生產者執行緒,一個消費者執行緒,這兩個執行緒同時操作這個佇列,必須加互斥鎖嗎
10樓:網友
加互斥鎖的目的,是解決多執行緒訪問同一資源而產生不可預期的異常,那麼你現在是一個執行緒只負責插入,另一執行緒負責查詢和刪除,查詢和刪除跟插入沒有關係的話,那麼顯然是不需要執行緒鎖的,你要是問隱患的話,那麼由於多執行緒或者多使用者的原因,頻繁操作幾張相關表,可能造成資料庫的表死鎖。
11樓:網友
如果你是用的佇列不是執行緒安全的, 那麼會存在隱患。
如果你的。net framework>=4的話 系統提供了執行緒安全的佇列
c# 多執行緒對同一檔案進行讀操作【只讀不寫】需不需要加鎖
12樓:傳奇勇者
不用加鎖,每個執行緒相當於重新開啟這個檔案,各自讀各自的,互不干擾的。
13樓:匿名使用者
看你是什麼檔案了哦。
一般的記事本檔案沒有影響不需要加。
其它的檔案,比如office檔案貌似你只能開啟一個。
14樓:找熱門電影
不用加鎖的,只讀不寫的話。
¹øóúc#¶àïß³ì(¹øóúëøµäîêìâ) 100
c#多執行緒怎麼鎖定全域性變數?
15樓:路路通
public static object locker = new object();新增一個物件作為鎖。
就是在有修改的時候加上lock
lock (locker)//鎖。
/*新增過程*/
lock (locker)//鎖。
16樓:sk蓮華生輝
方法還是很多的,例如:
public static dictionarydictionary = new dictionary();
public static object locker = new object();新增一個物件作為鎖。
public static void addrecord()/執行緒1迴圈呼叫此函式。
}public static void deleterecord()/執行緒2迴圈呼叫此函式。
}至於執行緒的呼叫過程就不寫了,你根據實際情況操作吧。
c 的執行緒和程序的區別,C 多執行緒多程序問題
執行緒是指程序內的一個執行單元,也是程序內的可排程實體.與程序的區別 1 地址空間 程序內的一個執行單元 程序至少有一個執行緒 它們共享程序的地址空間 而程序有自己獨立的地址空間 2 資源擁有 程序是資源分配和擁有的單位,同一個程序內的執行緒共享程序的資源 3 執行緒是處理器排程的基本單位,但程序不...
C 如何運用多執行緒 5,C 中構建多執行緒應用程式
thread th1 new thread new threadstart aa 執行緒1 thread th2 new thread new threadstart aa 執行緒2 thread th3 new thread new threadstart aa 執行緒3 執行緒1啟動。執行緒2啟...
C 中構建多執行緒應用程式
高手進 c 多執行緒處理 非同步多執行緒記憶體釋放主要靠自己,c 的垃圾 機制是,只有當程式段執行完畢後,垃圾 機制才對程式開闢的記憶體進行垃圾 而多執行緒內的程式,特別是客戶端連線,只要客戶端沒有斷開連線,你的執行緒就會繼續執行,除非斷開客戶端,執行緒的生命週期結束,垃圾 機制才會對該執行緒產生佔用的記憶體進行 如果...