Lock lock = new ReentrantLock(); 怎么使用
时间: 2024-01-18 21:01:52 浏览: 61
JavaLock与Condition的理解Reentran
Lock lock = new ReentrantLock(); 是创建一个可重入锁,可以使用它来控制对共享资源的访问。一般的使用方法如下:
1. 在需要访问共享资源的方法中,使用 lock.lock() 方法获取锁。
2. 对共享资源进行访问和修改。
3. 使用 lock.unlock() 方法释放锁。
示例代码如下:
public class Example {
private final Lock lock = new ReentrantLock();
private int counter;
public void increment() {
lock.lock();
try {
counter++;
} finally {
lock.unlock();
}
}
public int getCounter() {
lock.lock();
try {
return counter;
} finally {
lock.unlock();
}
}
}
在上面的代码中,increment() 和 getCounter() 方法都需要获取 lock,访问和修改 counter,然后释放 lock。这样可以保证在同一个时刻只有一个线程访问和修改 counter,避免了竞态条件的发生。
阅读全文