• 第九周课程总结&实验报告


    实验任务详情:

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

    实验源码

    class test implements Runnable {
    static int ticket = 999;
    public void run() {
    for (int i = 0; i < 1000; i++)
    synchronized (this) {
    if (ticket >= 0) {
    if (ticket == 0) {
    System.out.println(Thread.currentThread().getName() + "票已售罄");
    break;}
    else {
    try {
    Thread.sleep(1000);
    }
    catch (InterruptedException e) {
    e.printStackTrace();
    }
    System.out.println(Thread.currentThread().getName() + "卖出一张票" + " " + "所剩余票为:" + ticket);
    ticket--;
    }
    }
    }
    }
    }

    public class cao {
    public static void main(String args[]) {
    test t = new test();
    Thread th1 = new Thread(t, "窗口1");
    Thread th2 = new Thread(t, "窗口2");
    Thread th3 = new Thread(t, "窗口3");
    Thread th4 = new Thread(t, "窗口4");
    Thread th5 = new Thread(t, "窗口5");
    Thread th6 = new Thread(t, "窗口6");
    Thread th7 = new Thread(t, "窗口7");
    Thread th8 = new Thread(t, "窗口8");
    Thread th9 = new Thread(t, "窗口9");
    Thread th10 = new Thread(t, "窗口10");

    th1.start();
    th2.start();
    th3.start();
    th4.start();
    th5.start();
    th6.start();
    th7.start();
    th8.start();
    th9.start();
    th10.start();
    }
    }

    实验结果

  • 相关阅读:
    MyBatis 3源码分析
    Java动态代理
    HashMap原理分析(JDK1.7.x之前)
    JQuery datepicker 用法
    百度一键分享功能
    JQuery BlockUI插件
    AJAX参数详解
    ECharts图标库
    KeCode对照表(键盘按键的获取)
    常见浏览器兼容问题
  • 原文地址:https://www.cnblogs.com/qq2676311181/p/11739469.html
Copyright © 2020-2023  润新知