《java併發程式設計的藝術》筆記第一章
阿新 • • 發佈:2018-12-05
第一章併發程式設計的挑戰
目錄
第一章併發程式設計的挑戰
1.1上下文切換
- CPU時間片上線文切換會影響多執行緒的執行速度
- 測量上線文切換次數和時長
- Lmbench3
- vmstat
- 如何減少上線文切換
- 無鎖併發程式設計
- CAS演算法
- 協程:在單執行緒裡實現多工的排程,並在單執行緒裡維持多個任務間的切換
1.2 死鎖
-
避免死鎖的幾個常見方法
- 避免一個執行緒同時獲取多個鎖
- 避免一個執行緒在鎖內同時佔用多個資源,儘量保證每個鎖只佔用一個資源
- 嘗試使用定時鎖,使用lock.tryLock(timeout)來替代使用內部鎖機制
- 對於資料庫鎖,加鎖和解鎖必須在一個數據庫連線裡,否則會出現解鎖失敗的情況
1.3 資源限制的挑戰
- 什麼是資源限制
- 計算機硬體或軟體資源
-
資源限制引發的問題
-
如何解決資源限制的問題
-
在資源限制情況下進行併發程式設計
個人總結
概要的說明了併發面臨的問題和解決方式。