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


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

    package demo;
    
    public class MyThread implements Runnable {
        private int ticket=20;
        public void run() {
            for(int i=0;i<10;i++) {
                synchronized(this) {
                    if(ticket>0) {
                        try {
                            Thread.sleep(1000);
                        }catch(Exception e) {
                            e.printStackTrace();
                        }
                        System.out.println(Thread.currentThread().getName()+"运行,ticket="+ticket--);
                    }
                }
            }
        }
    };
    
    package demo;
    
    public class test1 {
    
    	  public static void main(String[] args) {
    	        MyThread mt=new MyThread();
    	        Thread t1=new Thread(mt,"A窗口");
    	        Thread t2=new Thread(mt,"B窗口");
    	        Thread t3=new Thread(mt,"C窗口");
    	        Thread t4=new Thread(mt,"D窗口");
    	        Thread t5=new Thread(mt,"E窗口");
    	        Thread t6=new Thread(mt,"F窗口");
    	        Thread t7=new Thread(mt,"H窗口");
    	        Thread t8=new Thread(mt,"I窗口");
    	        Thread t9=new Thread(mt,"J窗口");
    	        Thread t0=new Thread(mt,"K窗口");
    	        t1.start();
    	        t2.start();
    	        t3.start();
    	        t4.start();
    	        t5.start();
    	        t6.start();
    	        t7.start();
    	        t8.start();
    	        t9.start();
    	        t0.start();
    	    }
    
    }
    
    

    二:运行截图

    学习总结
    (1)对于多线程取得和设置线程名称,线程的是否启动,线程的强制运行,线程的休眠,线程的礼让问题。
    (2)对于java IO操作文件类——File的介绍与对File类主要方法与构造类的了解。
    (3) 主线程有可能比其他线程先执行完。
    (4)可以使用 Thread 类中的 setPriority() 方法来设置线程的优先级。

  • 相关阅读:
    HelloJava.java
    建表
    JAVA连接数据库
    数据查询
    时间片轮转法
    最高优先级
    进程调度
    磁盘调度管理
    Fibonacci数列
    众数问题
  • 原文地址:https://www.cnblogs.com/jiajia2333/p/11741271.html
Copyright © 2020-2023  润新知