第九周作业

实验报告七
实验任务详情:

完成火车站售票程序的模拟。
要求:
(1)总票数1000张;
(2)10个窗口同时开始卖票;
(3)卖票过程延时1秒钟;
(4)不能出现一票多卖或卖出负数号票的情况。

实验代码

package Fuck;

 class MyThread implements Runnable{
    private int ticket=100;
    
    private boolean flag=true;
    public void run() {
        while(flag) {
             try {
                 Thread.sleep(50);
             }catch(Exception e) {
                 e.printStackTrace();
             }
            sale();
            if(flag==false) {
                System.out.println(Thread.currentThread().getName()+"窗口票已全部卖完");
            }
         }
         
    }
    public synchronized void sale() {
         if(ticket==0) {
             flag=false;
              return;
         }
        
         System.out.println(Thread.currentThread().getName()+"窗口卖票一张,余票为"+ticket--);
   }
     
 }
public class ThreadNameDemo {
     public static void main(String args[]) {
         MyThread m=new MyThread();
         for(int i=1;i<=10;i++) {
         new Thread(m,i+"窗口").start();
         }
     }
         
    
}

实验截图

学习总结:哦豁原来书上好像有额。

posted @ 2019-10-26 22:06  dxl1314520  阅读(60)  评论(0编辑  收藏  举报