package Thread_safe_package; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class MyThread2 extends Thread { static int ticket = 0; static Lock lock = new ReentrantLock(); @Override public void run() { while (true) { //同步代码块---锁对象:MyThread.class | obj lock.lock(); if (ticket < 100) { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } ticket++; System.out.println(getName() + "正在卖第" + ticket + "张票"); } else { break; } lock.unlock(); } } }