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