package com.heima.test;
public class Test18 {
/**编写 三个类 ticket,sealWindow,ticketSealCenter,代表票信息,售票窗口,售票中心,
售票中心分配一定数量的票(多个窗口实现多线程售票)
* @param args
*/
public static void main(String[] args) {
window w = new window();
new Thread(w,"一号窗口").start();
new Thread(w,"二号窗口").start();
new Thread(w,"三号窗口").start();
new Thread(w,"四号窗口").start();
new Thread(w,"五号窗口").start();
}
}
class window implements Runnable{
@Override
public void run() {
while(true){
synchronized (window.class) {
if(ticket.getTic()){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+
"卖出了第"+ticket.getTicket()+"号票!");
}else{
System.out.println("票卖完了!");
break;
}
}
}
}
}
class ticket{
private static int tic = 100;
public static int getTicket() {
return tic--;
}
public static void setTic(int tic) {
ticket.tic = tic;
}
public static boolean getTic(){
if(tic > 0){
return true;
}else{
return false;
}
}
}
编写 三个类 ticket,sealWindow,ticketSealCenter,代表票信息,售票窗口,售票中心, 售票中心分配一定数量的票(多个窗口实现多线程售票)
最新推荐文章于 2021-11-29 00:19:26 发布