您的位置:首页 > 其它

编写 三个类 ticket,sealWindow,ticketSealCenter,代表票信息,售票窗口,售票中心, 售票中心分配一定数量的票(多个窗口实现多线程售票)

2016-04-12 22:58 555 查看
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;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: