(1)多執行緒的應用
多執行緒是為了使得多個執行緒並行的工作以完成多項任務,以提高系統的效率。使用多執行緒帶來的好處有:
a、可以把佔據長時間的程式中的任務作為乙個單獨的執行緒放到後台去處理。而使用者介面可以繼續響應使用者的操作。例如使用者單擊了乙個按鈕去觸發某些事件的處理,可以彈出乙個進度條來顯示處理的進度等。
b、加快程式的處理速度
c、在一些等待的任務實現上如使用者輸入、檔案讀寫和網路收發資料等,可以釋放一些資源如記憶體占用等。
使用多執行緒帶來的問題:
a、獨占性系統資源的排程問題:
例如,對於像磁碟驅動器這樣獨占性系統資源,由於執行緒可以執行程序的任何**段,且執行緒的執行是由系統排程自動完成的,具有一定的不確定性,因此就有可能出現兩個執行緒同時對磁碟驅動器進行操作,從而出現操作錯誤。又例如,對於基本資料庫應用的程式來說,可能使用乙個執行緒來更新其使用者資料庫,而另乙個執行緒用來讀取資料庫以響應使用者的需要,極有可能資料庫的執行緒讀取的是未完成更新的資料庫,因為可能在讀的時候只有一部分資料被更新過。
(2)多執行緒的同步
概念:隸屬於同一程序的各執行緒協調一致的工作稱為執行緒的同步。
執行緒同步的基本思想就是避免多個執行緒對同一資源的訪問,這個資源既可以是乙個物件,又可以是乙個方法或**。執行緒的同步可以使用臨界區、互斥量、訊號量等方式實現。
多執行緒的同步
執行緒的同步 在多執行緒程式設計中,這種會被多個執行緒同時訪問的資源叫做臨界資源。synchronized 關鍵字是乙個修飾符,可以修飾方法或 塊。其作用是 對於同乙個物件 不是乙個類的不同物件 當多個執行緒都同時呼叫該方法或 塊時,必須一次執行,也就是說,如果兩個或兩個以上的執行緒同時執行該段 如...
多執行緒的同步
1 為什麼要同步?在多個執行緒併發訪問同乙個資源的時候,可能會出現乙個執行緒對共享資源 臨界資源 進行了修改,但是該執行緒還沒有結束,這時另乙個執行緒也來對這個共享資源進行修改,後果可想而知了。舉個例子,假設甲和乙都用同乙個賬戶取錢,原來賬戶中有餘額800,甲取了800,在甲取錢之後,銀行還沒有計算...
多執行緒同步
synchronized 物件 其中物件相當於乙個標誌 鎖 用於判斷 同步 塊 同步的前提必須是兩個或兩個以上的執行緒,且共用同乙個鎖 同步解決了多執行緒的安全問題 弊端 多執行緒需要判斷鎖,消耗了資源 同步函式 將synchronized放在函式名前面即可 即具有同步性質 使用的鎖是this 靜態...