說明
1、Lock是java.util.concurent套件下的接口,定義了一系列的鎖定操作方法。
2、Lock介面主要包括ReentrantLock、ReentrantReadWriteLock、ReentrantReadWriteLock、WriteLock實作類別。
與Synchronized不同,Lock提供了取得鎖定、釋放鎖定等相關介面,使其使用更加靈活,操作更加複雜。
實例
ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); Lock readLock = lock.readLock(); Lock writeLock = lock.writeLock(); private int x = 0; private void count() { writeLock.lock(); try { x++; } finally { writeLock.unlock(); } } private void print(int time) { readLock.lock(); try { for (int i = 0; i < time; i++) { System.out.print(x + " "); } System.out.println(); } finally { readLock.unlock(); } }
以上是Java Lock類別提供哪些功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!