Java中的ReentrantLock()对象如何加锁
时间: 2024-01-12 17:23:06 浏览: 81
深入java并发编程,使用ReentrantLock和 Synchronized加锁
ReentrantLock是Java中的一个可重入锁,它提供了与synchronized关键字类似的功能,但具有更多的灵活性和扩展性。下面是使用ReentrantLock对象进行加锁的示例代码:
```java
import java.util.concurrent.locks.ReentrantLock;
public class LockExample {
private static ReentrantLock lock = new ReentrantLock();
public static void main(String[] args) {
lock.lock(); // 加锁
try {
// 执行需要同步的代码块
System.out.println("执行代码");
} finally {
lock.unlock(); // 解锁
}
}
}
```
在上面的示例中,我们首先创建了一个ReentrantLock对象,并将其定义为静态变量。然后,在需要同步的代码块中,我们使用`lock()`方法来获取锁,然后执行代码。最后,使用`unlock()`方法来释放锁。
需要注意的是,为了确保锁的释放,最好将`unlock()`方法放在`finally`块中,以防止异常导致锁无法释放。
阅读全文