65節(jié)82節(jié),我們用了18篇文章討論并發(fā),本節(jié)進(jìn)行簡(jiǎn)要總結(jié)。

多線程開發(fā)有兩個(gè)核心問題,一個(gè)是競(jìng)爭(zhēng),另一個(gè)是協(xié)作。競(jìng)爭(zhēng)會(huì)出現(xiàn)線程安全問題,所以,本節(jié)首先總結(jié)線程安全的機(jī)制,然后是協(xié)作的機(jī)制。管理競(jìng)爭(zhēng)和協(xié)作是復(fù)雜的,所以Java提供了更高層次的服務(wù),比如并發(fā)容器類和異步任務(wù)執(zhí)行服務(wù),我們也會(huì)進(jìn)行總結(jié)。本節(jié)綱要如下:

  • 線程安全的機(jī)制

  • 線程的協(xié)作機(jī)制

  • 容器類

  • 任務(wù)執(zhí)行服務(wù)

線程安全的機(jī)制

線程表示一條單獨(dú)的執(zhí)行流,每個(gè)線程有自己的執(zhí)行計(jì)數(shù)器,有自己的棧,但可以共享內(nèi)存,共享內(nèi)存是實(shí)現(xiàn)線程協(xié)作的基礎(chǔ),但共享內(nèi)存有兩個(gè)問題,競(jìng)態(tài)條件和內(nèi)存可見性,之前章節(jié)探討了解決這些問題的多種思路:

  • 使用synchronized

  • 使用顯式鎖

  • 使用volatile

  • 使用原子變量和CAS

  • 寫時(shí)復(fù)制

  • 使用ThreadLocal

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式