zoukankan      html  css  js  c++  java
  • 实验&报告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();
         
    }
    

    }

  • 相关阅读:
    git push&pull命令详解
    Git常用命令总结
    SpringBoot入门之事件监听
    SpringBoot整合Redis
    十九:JDBC操作事务
    十八:使用JDBC进行批处理
    十七:使用JDBC处理MySQL大数据
    十六:使用JDBC对数据库进行CRUD
    十五:JDBC学习入门
    SpringBoot使用@Scheduled创建定时任务
  • 原文地址:https://www.cnblogs.com/JCclub/p/11735642.html
Copyright © 2011-2022 走看看