三个售票窗口同时出售20张票。
简单实现:
package com.example.demo.service;
import java.util.concurrent.*;
public class SellTicket extends Thread{
//为了保持票数一致,票要静态
static int tick = 20;
//创建一个静态钥匙
static Object ob = "aa";
public SellTicket(String name){
super(name);
}
/*重写run方法,实现买票操作*/
@Override
public void run(){
System.out.println(getName()+"开始售票");
while (tick > 0) {
synchronized (ob) {//使用这个锁保持一致性
if (tick > 0) {
System.out.println(getName() + "卖出了第" + tick + "张票");
tick--;
} else {
System.out.println("票卖完了!");
}
}
try {
sleep(1000)