package multithread.lock;
import multithread.synchronize.SynchronizeThread;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class LockThread extends Thread {
//表示这个类所有的对象
static int ticket = 0;
//锁对象一定是唯一的
static Lock lock = new ReentrantLock();
@Override
public void run() {
while (true) {
//同步代码块
lock.lock();
try {
if (ticket < 100) {
Thread.sleep(100);
ticket++;
System.out.println(getName() + "正在卖第" + ticket + "票");
} else {
break;
}
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
lock.unlock();
}
}
}
}
