【Java併發程式設計】一、為什麼需要學習併發程式設計?

zhuangwei發表於2019-04-20

原因:

  • 1.硬體的驅動與網際網路發展之間的鴻溝越來越大。
  • 2.多核的伺服器在不斷的發展。
  • 3.大型網際網路廠商的系統併發量輕鬆過百萬,傳統的中介軟體和資料庫已經不能為我們遮風擋雨了,反而成了瓶頸所在。

如何學習併發程式設計

其實併發程式設計可以總結為三個核心問題:分工、同步、互斥。

  • 分工:指的是如何高效地拆解任務並分配給執行緒
  • 同步:指的是執行緒之間如何協作
  • 互斥:保證同一時刻只允許一個執行緒訪問共享資源

Java SDK 併發包很大部分內容都是按照這三個維度組織的,例如Fork/Join框架就是一種分工模式,CountDownLatch就是一種典型的同步方式,而可重入鎖則是一種互斥手段。

當把併發程式設計核心的問題搞清楚,再回過頭來看看Java SDK 併發包,相信你會有條理的掌握,同時也不會迷茫了。

難點?

首先說明一下,併發程式設計,學起來十分枯燥乏味。因為這其中這其中涉及到作業系統、CPU、記憶體等等多方面的知識,因此,我們要堅持做下去、學下去的準備。

相關文章