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

    一.实验题目

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

    实验代码

    package maipiao;
    
    class MyThread implements Runnable{
        private int ticket = 1000;
        public void run()
        {
            if(ticket>0)
          {
            for(int i=0;i<1000;i++)
            {
                try
                {
                    Thread.sleep(0);
                }
                catch(Exception  e)
                {
                }
               System.out.println(Thread.currentThread().getName()+"卖票:ticket="+ticket--);
               if(ticket==0)
               {
                   break;
               }
            }
          }
        }
    }

    package maipiao;

    
    

    public class test {

    
    

    public static void main(String[] args) {

    MyThread mt1 = new MyThread();
    Thread t1 = new Thread(mt1,"窗口1");
    Thread t2 = new Thread(mt1,"窗口2");
    Thread t3 = new Thread(mt1,"窗口3");
    Thread t4 = new Thread(mt1,"窗口4");
    Thread t5 = new Thread(mt1,"窗口5");
    Thread t6 = new Thread(mt1,"窗口6");
    Thread t7 = new Thread(mt1,"窗口7");
    Thread t8 = new Thread(mt1,"窗口8");
    Thread t9 = new Thread(mt1,"窗口9");
    Thread t10 = new Thread(mt1,"窗口10");
    t1.start();
    t2.start();
    t3.start();
    t4.start();
    t5.start();
    t6.start();
    t7.start();
    t8.start();
    t9.start();
    t10.start();
    }

    } 

    实验截图

    二.学习总结

    线程操作的主要方法

    1.在Thread类中,可以通过 getname() 方法取得线程的名称,通过 setname()方法设置线程的名称

    2.判断线程是否启动
    因为线程通过Thread类之中的start()方法通知CPU这个线程已经准备好启动,然后就等待分配CPU资源,运行此线程。在Java中可以使用isAlive()方法来测试线程是否已经启动而且还在运行

    3.线程的休眠
    可以直接使用Thread.sleep()方法即可实现

    4.线程的强制运行
    可以使用join()方法让一个线程强制运行。在线程强制运行期间 其他线程无法运行,必须等待此线程完成之后才可以继续执行

    5.中断线程
    当一个线程运行时,另外一个线程可以直接通过interrupt()方法,中断其运行状态

    6.线程的优先级

    在Java线程操作中,哪个线程优先级高就有可能先被执行 所以可以使用setPriority()方法可以设置一个线程的优先级

    7.线程的礼让
    使用yield()方法可以将一个线程的操作暂时让给其他线程执行

  • 相关阅读:
    完美世界经典版本881外挂
    ShowModal 动态创建窗体和释放窗体
    HTML 颜色代码大全
    padding margin border 的四值顺序
    三 C# Socket通信 窗体控件与多线程
    Java解压缩Zip 文件
    八 C# Socket通信 通信协议设计
    CSS+DIV实现鼠标经过背景变色
    七 C# Socket通信 阻塞性线程的快速终止
    二 C# Socket通信模式
  • 原文地址:https://www.cnblogs.com/tb-0706/p/11738691.html
Copyright © 2011-2022 走看看