23 , (1分)在Java中,哪一个方法可以释放锁?A. tryLock() B. lock()C. notify()D unlock()
时间: 2023-08-23 13:06:08 浏览: 68
在Java中,可以使用`unlock()`方法释放锁。因此本题答案是D、unlock()。
在Java中,锁是一种同步机制,用于保护共享资源,防止多个线程同时访问和修改同一个变量。Java中的锁可以通过`java.util.concurrent.locks`包中的`Lock`接口和`ReentrantLock`类来实现。
`ReentrantLock`类中的`lock()`方法用于获取锁,`unlock()`方法用于释放锁。当一个线程获取了锁之后,其他线程就无法获取锁,直到该线程释放了锁。
例如,下面的代码演示了如何使用`ReentrantLock`类来保护共享资源:
```java
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class LockExample {
private final Lock lock = new ReentrantLock();
private int count = 0;
public void increment() {
lock.lock();
try {
count++;
} finally {
lock.unlock();
}
}
public int getCount() {
return count;
}
}
```
在上面的代码中,`increment()`方法使用`lock()`方法获取锁,然后对共享变量`count`执行自增操作。在`try-finally`块中,使用`unlock()`方法释放锁。这样可以确保在任何情况下都会释放锁,以防止死锁等问题。
因此,本题答案是D、`unlock()`方法。