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

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

要求:

(1)总票数1000张;

(2)10个窗口同时开始卖票;

(3)卖票过程延时1秒钟;

(4)不能出现一票多卖或卖出负数号票的情况。

package Lemon;

class Tickets implements Runnable {
	private int ticket = 1000;
	public void run(){
		try{
			Thread.currentThread();
			Thread.sleep(1000);
		}catch(InterruptedException e){
		   e.printStackTrace();
		}
		synchronized (this){
			while(true){
				if(ticket>0){
					System.out.println(Thread.currentThread().getName()+"卖出"+ticket+"张票");
					ticket --;
				}else{
					System.out.println(Thread.currentThread().getName()+"票已卖完");
					break;
				}
				
			}
		}		
	}
}
package Lemon;

public class Test {

	public static void main(String[] args) {
		Tickets ti = new Tickets();
		for(int i = 1;i<=10;i++){
			if(i<=9){
				new Thread(ti,"窗口00"+i).start();
			}else{
				new Thread(ti,"窗口010").start();
			}
			
		}

	}
}


课程总结

1.线程状态

2.线程操作方法

getName()取得线程名称

setName()设置线程名称(若没有设置线程名称,系统会自动设置名称,因系统中必然存在一个static属性,自动用于为线程自动命名)

isAlive()测试线程是否已经启动而且仍在运行

join()强制线程运行

Thread.sleep()使线程进行暂时的休眠

interrupt()中断线程运行

可以使用setPriority()设置线程的优先级

yield()将一个线程的操作暂时让给其他线程运行

3.File

学习了File类中的主要方法

使用createNewFile()创建一个新文件

delete()进行删除文件操作

mkdir()创建一个文件夹

列出指定目录中的全部文件public String[] list():列出全部名称,返回一个字符串数组,public File[] listFiles():列出完整的路径,返回一个File对象数组

listFiles()列出一个文件完整的路径

isDirectory判定给定的一个路径是否是目录

任重道远


原文地址:https://www.cnblogs.com/buxiu888/p/11728886.html