前言:本系列將從零開始講解java多線程相關的技術,內容參考于《java多線程核心技術》與《java并發(fā)編程實戰(zhàn)》等相關資料,希望站在巨人的肩膀上,再通過我的理解能讓知識更加簡單易懂。
并發(fā)歷史
在沒有操作系統(tǒng)的時候,一臺計算機只執(zhí)行一個程序,在那個時候,對珍貴的計算機資源來說是一種浪費
為了提高資源利用率(比如在等待輸入的時候,可以執(zhí)行其他程序),為了提高公平性(不同用戶和程序對計算機上的資源有平等的使用權),為了提高便利性(實現(xiàn)多個任務的時候,可以通過多個程序,而不用一個程序實現(xiàn)多個任務)計算機加入了操作系統(tǒng)
同樣,相同的原因,線程誕生了。線程可以共享進程的資源。
線程優(yōu)勢
發(fā)揮多處理器的強大功能
隨著技術的發(fā)展,多處理器系統(tǒng)越來越普及。在一個雙處理器系統(tǒng)上,如果只用一個線程,那么無疑浪費了資源。