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

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

    学习总结

    1、这周接着上周继续学习多线程,实现Runnable接口,Runnable接口是用来实现资源共享同时也可以通过Runnable接口的方式实现多线程。
    Runnable接口格式:

    class 类名称 implements Runnable{
         属性;
         方法;
         public viod run(){
                线程主体;
       }
    }
    

    2、Java IO
    操作文件的类——File
    File类的构造方法:

    public File(String pathname):根据指定的路径(可以是绝对路径或相对路径)创建File对象。
    public File(String parent, String child):根据指定的父文件夹和子文件或者子文件夹创建File对象
    public File(File parent, Sting child):根据指定的父文件夹对象和子文件或者子文件夹创建File对象
    使用RandonAcccessFile类写入数据
    createNewFile(); 创建新文件
    delete(); 删除一个指定文件
    mkdir(); 创建一个文件夹
    public String[]list(); 列出全部名称,返回一个字符串数组
    public File[]listFiles(); 列完整的路径,返回一个File对象数组
    isDirectory(); 判断一个给定的路径是否是目录
    

    实验报告

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

    package Sysss;
    
    public class Sy1 implements Runnable{
        private int ticket =1000;
        public void run() {
            while(ticket>0){
                synchronized(this) {
                    if(ticket>0) {
                        try {
                            Thread.sleep(1000);
                        }catch(InterruptedException e) {
                            e.printStackTrace();
                        }
                        ticket--;
                        System.out.println(Thread.currentThread().getName()+":售出一张票:剩余"+ticket+"张票");
                        
                        if(ticket==0) {
                            System.out.println("票已售完");
                        }
                    }
                }
            }
        }
    }
    
    package Sysss;
    
    	public class Sy2 {
    	    public static void main(String[] args) {
    	        Sy1 zx=new Sy1();
    	        Thread sy1 = new Thread(zx, "窗口1");
    	        Thread sy2 = new Thread(zx, "窗口2");
    	        Thread sy3 = new Thread(zx, "窗口3");
    	        Thread sy4 = new Thread(zx, "窗口4");
    	        Thread sy5 = new Thread(zx, "窗口5");
    	        Thread sy6 = new Thread(zx, "窗口6");
    	        Thread sy7 = new Thread(zx, "窗口7");
    	        Thread sy8 = new Thread(zx, "窗口8");
    	        Thread sy9 = new Thread(zx, "窗口9");
    	        Thread sy10 = new Thread(zx, "窗口10");
    
    	        sy1.start();
    	        sy2.start();
    	        sy3.start();
    	        sy4.start();
    	        sy5.start();
    	        sy6.start();
    	        sy7.start();
    	        sy8.start();
    	        sy9.start();
    	        sy10.start();
    	    }
    	}
    

  • 相关阅读:
    application , application pool., W3wp ,httpapplication, domain
    HDFS
    spark
    Hive
    container docker
    Azure&& hdinsight
    Native Code
    拥抱重构
    六个重构方法可帮你提升80%的代码质量
    重构 小步进行曲
  • 原文地址:https://www.cnblogs.com/caoe666/p/11740946.html
Copyright © 2011-2022 走看看