实验任务详情:

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

要求:

(1)总票数1000张;

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

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

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

实验代码

package 实验七;

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(Exception e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+"正在售票,ticket="+ticket--);
}
}
}
}
}
public class test {
public static void main(String[] args) {
MyThread mt=new MyThread();
Thread t1=new Thread(mt,"窗口1");
Thread t2=new Thread(mt,"窗口2");
Thread t3=new Thread(mt,"窗口3");
Thread t4=new Thread(mt,"窗口4");
Thread t5=new Thread(mt,"窗口5");
Thread t6=new Thread(mt,"窗口6");
Thread t7=new Thread(mt,"窗口7");
Thread t8=new Thread(mt,"窗口8");
Thread t9=new Thread(mt,"窗口9");
Thread t10=new Thread(mt,"窗口10");
t1.start();
t2.start();
t3.start();
t4.start();
t5.start();
t6.start();
t7.start();
t8.start();
t9.start();
t10.start();
}
}

实验结果



本周总结

  • 学习了Thread和Runnable接口
  • 多线程的学习与应用
  • 学习JAVA最重要的就是上完课自己回寝室自己看书加以理解,这样能够深入的理解JAVA这门语言,好好加油!

最新文章

  1. java compiler level does not match the version of the installed java project facet 解决方案
  2. Linux下的tmpfs文件系统(/dev/shm)
  3. MySQL int(11)及int(M)解析
  4. AX7: Overlayering and extensions
  5. easyui的getRows和appendRow方法使用结果记录
  6. Android 采用HttpClient提交数据到服务器
  7. Android 实现闪屏页和右上角的倒计时跳转
  8. DFS:Lake Counting(POJ 2386)
  9. 《Write Optimized B-Trees》读书报告
  10. linux磁盘清理方法 Linux 下垃圾清理工具 BleachBit
  11. 冷市攻略:Listo 教你 25 今天的社会 Swift 语言 - 02 Swift Tour
  12. SQL 优化案例 1
  13. 普通&lt;= &gt;=和between的sql查询方式区别与推荐
  14. C#C/S框架演示 (MES系统)
  15. HttpClientHelper
  16. 洛谷P4606 [SDOI2018]战略游戏 [广义圆方树]
  17. Vue(二十二)vuex小案例(官网计数案例整合)
  18. 2019.01.16 bzoj3526: [Poi2014]Card(线段树)
  19. 关于 f 散度
  20. Unity3D学习笔记(八):四元素和书籍推荐

热门文章

  1. GDB 调试指南
  2. Alibaba Cloud Toolkit 一键部署插件使用入门
  3. [Spark] 05 - Spark SQL
  4. sql server 中常用修改列 ,创建主外键操作
  5. Hadoop 文件系统命令行基础
  6. Save&amp;Load--Unity存档读档的学习总结
  7. 命名对象继承2-验证Open*命名对象安全属性的传递
  8. 使用ImageIO.write上传二维码文件时候,提示系统找不到指定路径
  9. Angular 文件上传、下载
  10. 07-简单认识margin