• 第九周总结&第七次实验报告


    实验7

    实验任务详情:

    完成火车站售票程序的模拟。

    要求:

    • (1)总票数1000张;
    • (2)10个窗口同时开始卖票;
    • (3)卖票过程延时1秒钟;
    • (4)不能出现一票多卖或卖出负数号票的情况。

    实验过程

    package shiyan7;
    
    public class Mythread 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--);
    				}
    			}
    		}
    	}
    
    }
    
    package shiyan7;
    
    public class Maipiaoge {
    	public static void main(String args[]) {
    		Mythread mp = new Mythread();
    		for(int i = 1;i < 11;i ++) {
    			Thread xc[] = new Thread[11];
    			xc[i] = new Thread(mp,"买票窗口" + i);
    			xc[i].start();
    		}
    		
    	}
    
    }
    
    

    实现结果


    因等一秒要点时间,所以这个截屏没有等。

    实验总结

    本次实验让我知道了多线程的作用,并且初步实现了多线程,更加熟练的使用多线程

    第九周总结

    本周主要学习了,线程的几种状态,线程的操作及其方法,Java的IOName()方法设置线程名字,可以允许线程同名,但应该避免这种事情发生,如果没有设置线程名称那么系统会默认设置一个名字为Thread-Xx。

    Java中用isAliva()来判断线程是否启动并且还在运行。

    Java中可以用join()方法让一个线程强制运行,并且这个期间,其他线程只能等,不能运行。
    用Thread.sleep()让线程休眠,用interrupt()方法中断线程用setDaemon()方法让线程在后台运行。
    线程的优先级

    但并不是线程的优先级越高,就一定会先执行,那个线程先执行还是由CPU来调度。
    线程的礼让,可以用yield()方法将一个线程的操作暂时让给其它线程执行,但并不是一定会让,还是由CPU决定。

    JavaIO

    file类,与文件本身有关的类,可以用它,新建文件,删除文件等操作。

    可以用createNewFile()创建文件,但是windows是反斜杠分隔,linux用正斜杠分隔,所以一般用Java提供的两个常量pathSeparator,setparator
    用delete()方法删除文件。exists()判断文件是否存在
    用mkdir()方法创建文件夹,用public String[] list():列出全部名称,public File listFiles():列出完整路径。
    RandomAccessFile类,对文件内容进行操作。

  • 相关阅读:
    何时使用Entity或DTO
    Lombok简介
    Spring Boot实现STOMP协议的WebSocket
    Java泛型构造函数
    Java 8 Comparator: 列表排序
    Spring Boot + Elastic stack 记录日志
    Sping、SpringMVC、SpringBoot的对比
    FileChannel指南
    让Spring Boot启动更快
    架构级开闭原则
  • 原文地址:https://www.cnblogs.com/xiao--liang/p/11729172.html
Copyright © 2020-2023  润新知