Lock
使用经典·典型
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
//Java SDK 里面 Lock 的使用,有一个经典的范例,...
public class Library {
// ReentrantLock:所谓可重入锁,顾名思义,指的是线程可以重复获取同一把锁
private final Lock rtLock = new ReentrantLock();
int value;
public int get() {
// 获取锁
rtLock.lock();
try {
return value;
} finally {
// 保证锁能释放
rtLock.unlock();
}
}
public void addOne() {
// 获取锁
rtLock.lock();
try {
value += 1;
} finally {
// 保证锁能释放
rtLock.unlock();
}
}
}ReentrantLock:可重入锁
公平锁和非公平锁
用锁的最佳实践
Last updated
Was this helpful?