zoukankan      html  css  js  c++  java
  • 第九周课程总结&实验报告(七)

    Java实验

    实验任务详情:

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

    实验源码:

    public class Maipiao implements Runnable {
      private int ticket = 1000;
    
      public void run() {
    
          for (int i = 1; i <= 1000; i++) {
              synchronized (this) {
                  if(ticket==0) {
                      System.out.println(Thread.currentThread().getName() + "票已售完!");
                      break;
                  }
                  if (ticket > 0) {
                      ticket--;
                      try {
                          Thread.sleep(0);
                      } catch (InterruptedException e) {
                          e.printStackTrace();
                      }
                      System.out.println(Thread.currentThread().getName() + " 买出一张票    余票:ticket=" + ticket);
    
                  }
              }
          }
    
      }
    }
    public class YOU {
        public static void main(String[] args) {
            Maipiao mp=new Maipiao();
            Thread ck1 = new Thread(mp, "窗口1");
            Thread ck2 = new Thread(mp, "窗口2");
            Thread ck3 = new Thread(mp, "窗口3");
            Thread ck4 = new Thread(mp, "窗口4");
            Thread ck5 = new Thread(mp, "窗口5");
            Thread ck6 = new Thread(mp, "窗口6");
            Thread ck7 = new Thread(mp, "窗口7");
            Thread ck8 = new Thread(mp, "窗口8");
            Thread ck9 = new Thread(mp, "窗口9");
            Thread ck10 = new Thread(mp, "窗口10");
    
            ck1.start();
            ck2.start();
            ck3.start();
            ck4.start();
            ck5.start();
            ck6.start();
            ck7.start();
            ck8.start();
            ck9.start();
            ck10.start();
        }
    }
    

      实验结果:

    实验结果:通过这一周的学习,我知道了

    Java中线程的创建有如下三种基本形式。

    1、继承Thread类,重写该类的run()方法。
    2、实现java.lang.Runnable接口
    3、使用Callable和Future接口创建线程。

    线程的状态:

    1.创建状态

    2.就绪状态

    3.运行状态

    4.阻塞状态

    5.死亡状态

    我会好好学习的,争取有更大的进步。

  • 相关阅读:
    【题解】P2262 [HNOI2004]FTP服务器
    关于大模拟
    CodeForces 666E Forensic Examination
    Bzoj3233 [Ahoi2013]找硬币
    Bzoj4350 括号序列再战猪猪侠
    UOJ#31 【UR #2】猪猪侠再战括号序列
    UOJ#21 【UR #1】缩进优化
    51nod1667 概率好题
    [CodeChef
    51nod1245 Binomial Coefficients Revenge
  • 原文地址:https://www.cnblogs.com/csbtmg/p/11739476.html
Copyright © 2011-2022 走看看