第j九周学习总结暨第七周实验报告

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

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

package demo;

public class MyThread implements Runnable {
    private int ticket=25;
	public void run() {
		for(int i=0;i<25;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 test {

	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();
	}
}

二:运行截图


对于本题还是可以很好地了解runnable接口的用途,对于解决资源共享同步操作实现同步代码块与同步方法的处理。

本周总结

(1)对于多线程取得和设置线程名称,线程的是否启动,线程的强制运行,线程的休眠,线程的礼让问题。
(2)对于java IO操作文件类——File的介绍与对File类主要方法与构造类的了解



走着走着,就到了,这就对了

posted @ 2019-10-24 21:50  新仔仔  阅读(150)  评论(0编辑  收藏  举报