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

    实验任务详情:

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

    
    public class ticket{
        public static void main(String[] args) {
        	
            w mt=new w(); 
            
            new Thread(mt,"窗口1").start();               
            new Thread(mt,"窗口2").start();
            new Thread(mt,"窗口3").start();
            new Thread(mt,"窗口4").start();
            new Thread(mt,"窗口5").start();
            new Thread(mt,"窗口6").start();
            new Thread(mt,"窗口7").start();
            new Thread(mt,"窗口8").start();
            new Thread(mt,"窗口9").start();
            new Thread(mt,"窗口10").start();
        }
    }
    
    class w implements Runnable{ 
    	
        private int ticket=1000;
        
        public void run() {                                         
            for(int i=0;i<1000;i++) {
                synchronized(this) {                            
                    if(ticket>0) {                                 
                        try {
                            Thread.sleep(1000);
                        }
                        catch(InterruptedException e) {
                            e.printStackTrace();
                        }
                        System.out.println(Thread.currentThread().getName()+
                        		           "余票:"+ticket--);    
                    }
                }
            }
        }
    }
    

    学习总结:
    1.主要学习了多线程的实现;
    2.主要学习了Thread中的方法;
    3.主要学习了取得和设置线程名称、判断线程是否启动、线程的强制转换、线程的休眠、中断、礼让等等。
    4.主要学习了同步与死锁,并通过窗口卖票的代码对这周的学习内容有了更好的巩固。

  • 相关阅读:
    开启LOH压缩?
    搭建Hadoop2.6.4伪分布式
    EntityFramework CodeFirst SQLServer转Oracle踩坑笔记
    glob模式
    在Oracle中使用Entity Framework 6 CodeFirst
    IE9,10中console对象的bug
    ViewBag是如何实现的
    esbuild vs webpack
    企业微信公众号本地调试auto2.0
    vmware15.5的解锁mac系统插件
  • 原文地址:https://www.cnblogs.com/arthur-w/p/11725725.html
Copyright © 2011-2022 走看看