《java多线程编程实战指南 核心篇》读书笔记三
1. 鎖的思路: 將多個線程對共享數據的并發訪問轉換為串行訪問,即一個共享數據一次只能被一個線程訪問,該線程訪問結束后其他線程才能對其進行訪問。鎖(lock)就是利用這種思路以保障線程安全的線程同步機制。
?
2. 線程同步機制是一套用于協調線程間的數據訪問(Data access)及活動(Activity)的機制,該機制用于保障線程安全以及實現這些線程的共同目標。
?
?java平臺中鎖的調度策略也包括公平策略和非公平策略,相應的鎖就被稱為公平鎖和非公平鎖。內部鎖屬于非公平鎖,而顯示鎖既支持公平鎖又支持非公平鎖。
?
?
?3.?鎖的作用: 鎖能夠保護共享數據以實現線程安全,其作用包括保障原子性,保障可見性和保障有序性。
4. 可重入性(Reentrancy):一個線程在其持有一個鎖的時候能否再次(或者多次)申請該鎖。如果一個線程有一個鎖的時候還能夠繼續成功申請該鎖,那么我們就稱該鎖是可重入的(reentrant),否則我們就稱鎖為非可重入的(Non-reentrant)。
5. java平臺中的任何一個對象都有唯一一個與之關聯的鎖,這種鎖被稱為監視器(Monitor)或者內部鎖(Intrinsic Lock).?
?
?6. 讀寫鎖: 改進型的排他鎖
7. 內存屏障?
?
為了保障線程安全,我們需要使用java線程同步機制,而內存屏障則是java虛擬機在實現java線程同步機制時所使用的具體"工具".
?
總結
以上是生活随笔為你收集整理的《java多线程编程实战指南 核心篇》读书笔记三的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《java多线程编程实战指南 核心篇》读
- 下一篇: new com.mysql.jdbc.D