C 高階特性(三)多執行緒

2021-07-22 08:40:29 字數 673 閱讀 2074

1,鎖:控制多執行緒併發操作時,執行緒安全問題。

舉例:static bool done;   //執行緒是否完成標識

static object locker = new object(); //執行緒鎖

static void main(string args)

static void test()}}

結果:done. thread name:thread

上例中有主副兩個執行緒,理論上來講主線程和副執行緒不分先後都有可能呼叫test方法,實際情況是副現場呼叫先呼叫test方法,程序鎖定,主程序無法呼叫。

2,manualresetevent實現程序訊號機制

static object locker = new object(); 

static manualresetevent signal = new manualresetevent(false);

static void main(string args)

else if (input.trim().tolower() == "run")

else if (input.trim().tolower() == "exit")}}

static void go()}}

當輸入stop時進行暫停等待訊號,輸入run獲得進行訊號開始執行。

三 多執行緒斷點續傳

conn.setrequestmethod get 獲取檔案總長度,然後建立長度一致的臨時檔案 向伺服器請求部分資料 conn.setrequestproperty range bytes startindex endindex conn.connect if conn.getresponsecod...

三 多執行緒與上廁所

世界上最讓人坐立不安,最知道心急的時候,是拿著手紙捂著肚子而廁所裡有人的時候。現在我們有兩個人,乙個在廁所裡,乙個在廁所外。廁所外的人一直問 你好了沒?while 廁所裡的人沒出來 這個時候就會變成,裡面的人拉的不舒服,外面的人也難受。現在我們把條件放寬一點,假如外面的人不是很急,那麼他還是這麼問的...

三 多執行緒基礎之synchronized

二.多執行緒基礎之 volatile 三.多執行緒基礎之synchronized 四.多執行緒使用及執行緒間的通訊 五.多執行緒高階之鎖 六.多執行緒併發之容器 七.原子類和 cas 八.併發工具類 九.執行緒池 它主要確保多個執行緒 在同乙個時刻,只能有乙個執行緒處於方法或者同步塊中,它保證了執行...