目录
一:Lock锁
-
从JDK5.0开始,java提供了更强大的线程同步机制--通过显式定义同步锁对象来实现同步,同步锁使用Lock对象充当。
-
ReentrantLock类实现了Lock,它拥有与synchronized相同的并发性和内存语义,在实现多线程安全的控制中,比较常用的是ReentrantLock,可以显式加锁、释放锁
二:Lock代码演示:
class Windows implements Runnable {
private int ticket = 100;
//1、实例化ReentrantLock
private ReentrantLock lock = new ReentrantLock();
@Override
public void run() {
while (true) {
try {
//2.调用Lock()
lock.lock();
if (ticket > 0) {
/* try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}*/
System.out.println(Thread.currentThread().getName() + ":售票,票号