实验& 报告7

实验任务详情:
完成火车站售票程序的模拟。
要求:
(1)总票数1000张;
(2)10个窗口同时开始卖票;
(3)卖票过程延时1秒钟;
(4)不能出现一票多卖或卖出负数号票的情况。
***
class MyThread implements Runnable{
private int ticket = 1000;
public void run() {
for (int i=0;i<2000;i++) {
synchronized (this) {
if (ticket>0) {
try {
Thread.sleep(1000);
}catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+"售票:ticket = " + ticket--);
}
}
}
}

};

public class practice1 {
public static void main (String args[]) {
MyThread my = new MyThread();
Thread my1 = new Thread(my);
my1.setName("窗口1");

    Thread my2 = new Thread(my);
    my2.setName("窗口2");
    
    Thread my3 = new Thread(my);
    my3.setName("窗口3");
    
    Thread my4 = new Thread(my);
    my4.setName("窗口4");
    
    Thread my5 = new Thread(my);
    my5.setName("窗口5");
    
    Thread my6 = new Thread(my);
    my6.setName("窗口6");
    
    Thread my7 = new Thread(my);
    my7.setName("窗口7");
    
    Thread my8 = new Thread(my);
    my8.setName("窗口8");
    
    Thread my9 = new Thread(my);
    my9.setName("窗口9");
    
    Thread my10 = new Thread(my);
    my10.setName("窗口10");
    
    my1.start();
    my2.start();
    my3.start();
    my4.start();
    my5.start();
    my6.start();
    my7.start();
    my8.start();
    my9.start();
    my10.start();
     
}

}
***

猜你喜欢

转载自www.cnblogs.com/JCclub/p/11735643.html
今日推荐