try...finally 块来实现加锁和释放锁
@Override
public void run() {
while (true) {
try {
lo.lock();
if (tickets > 0) {
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + "正在售出第:" + tickets + "张票");
tickets--;
}
} finally {
lo.unlock();
}
}
}