1. 程式人生 > >Java多執行緒(9):Lock

Java多執行緒(9):Lock

在Java多執行緒中 使用ReentrantLock類也能達到同步的效果




使用Condition實現等待/通知

在使用notify()/notifyAll()進行執行緒通知 被通知的執行緒卻是由JVM隨機選擇的 但是使用ReentrantLock結合Condition類可以實現

選擇性通知





公平鎖與非公平鎖:

公平鎖表示執行緒獲取鎖的順序是按照執行緒加鎖的順序來分配的

非公平鎖 是一種獲取鎖的搶佔機制 隨機獲取鎖的

 

















.readLock():任何執行緒都可以讀 都可以獲得鎖 一個執行緒在讀 另一個執行緒要寫 必須獲得鎖

.writeLock():一個執行緒獲取鎖在寫 另一個執行緒要寫 必須獲取鎖  一個執行緒在寫 另一個執行緒要讀 也要獲取鎖