您好,登錄后才能下訂單哦!
這篇文章主要介紹了java讀寫鎖的概念是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇java讀寫鎖的概念是什么文章都會有所收獲,下面我們一起來看看吧。
1、讀寫鎖將一個資源(如文件)的訪問分為兩個鎖,一個讀寫鎖。
2、因為讀寫鎖,多個線程之間的讀寫操作才不會發生沖突。
3、ReadWriteLock是讀寫鎖,它是一個界面,RentrantReadWriteLock實現了這個界面。
實例
public class CacheDemo { private Map<String, Object> cache = new HashMap<>(); private ReadWriteLock readWriteLock = new ReentrantReadWriteLock(); public static void main(String[] args) { } public Object getData(String key) { Object value = null; //首先開啟讀鎖,從緩存中去取 readWriteLock.readLock().lock(); try { value = cache.get(key); //如果緩存中沒有釋放讀鎖,上寫鎖 if (value == null) { //對應queryDB() readWriteLock.readLock().unlock(); //讀鎖必須unlock之后才能獲取寫鎖 readWriteLock.writeLock().lock(); try { //對應queryDB() value = queryDB(); } finally { //釋放寫鎖 readWriteLock.writeLock().unlock(); } //然后再上讀鎖 readWriteLock.readLock().lock(); } } finally { //最后釋放讀鎖 readWriteLock.readLock().unlock(); } return value; } public Object queryDB() { return "aaaa"; } }
關于“java讀寫鎖的概念是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“java讀寫鎖的概念是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。