火车票系统模拟
2017-11-25 13:23
225 查看
火车票购票系统模拟
package xiao; public class XXiao { public static void main(String[] args) { // TODO 自动生成的方法存根 ThreadSellTciket sTicket=new ThreadSellTciket(); //创建属于类ThreadSellTciket的对象sTicket。 new Thread(sTicket).start(); //创建3个同优先级的线程。 new Thread(sTicket).start(); new Thread(sTicket).start(); } } class ThreadSellTciket implements Runnable{ //创建类ThreadSellTciket,实现接口Runnable。 private int tickets=10; boolean flag=true; public void run(){ //重写方法run(),在方法run()中调用方法sale()。 while(flag){ sale(); } } synchronized public void sale(){ //创建同步方法sale()。 if(tickets>0){ //各个售票线程对10张车票共同进行售票。 try{ Thread.sleep(100); } catch(Exception e){ e.printStackTrace(); } System.out.println(Thread.currentThread().getName()+"正在卖票:"+tickets); tickets--; } else{ flag=false; //如果车票售完,则将标识符flag的值设置为false,此时方法run()的循环条件不满足,从而结束方法run(),即结束线程。 } } }
运行结果:
知识点:
1)资源冲突。
2)对象锁。
3)线程间的同步控制。
4)线程组。
相关文章推荐
- 火车票购票系统模拟
- 火车票购票系统模拟
- 火车票购票系统模拟
- 模拟火车票购票系统的简单多线程程序
- 模拟火车票销售系统--线程同步+安全问题(初期 1)
- 将线程锁加在对象上与锁加在方法上的区别(模拟火车票联网售票系统:多个线程同时出票,保证每张出票的编号连续且不重复。)
- 火车票购票系统模拟
- iOS-多线程(模拟火车票售票系统)
- 火车票购票系统模拟
- 火车票购票系统模拟
- 火车票购买系统模拟
- 火车票购票系统模拟
- 同步与互斥经典案例——模拟火车票售票系统
- 【Android+OkHttp3+Jsoup】 模拟登录教务系统 抓取课表和成绩
- Python脚本实现12306火车票查询系统
- 模拟银行业务调度系统逻辑
- linux下简单模拟文件系统
- 开发各种信息管理系统的标准演示数据都帮你整理好了,少了录入演示\测试\模拟数据的烦恼了[提供下载]
- php后台“爬虫”模拟登录第三方系统(三)---模拟登录学校正方系统
- 用HOOK机制让自绘菜单栏控件模拟系统菜单栏行为