通过接口解决多线程下的数据同步问题
2017-09-19 17:44
302 查看
package com.test; public class Test { public static void main(String[] args) { //定义三个售票窗口 TicKetWindow tw1=new TicKetWindow(); Thread t1 =new Thread(tw1); Thread t2 =new Thread(tw1); Thread t3 =new Thread(tw1); t1.start(); t2.start(); t3.start(); } } class TicKetWindow implements Runnable{ //一共2000张票 private int nums=2000; public void run(){ while(true){ synchronized(this){ //判断是否有票 if(nums>0){ //显示售票信息 //Thread.currentThread().getName() 显示当前线程 System.out.println(Thread.currentThread().getName()+"在售出第"+nums+"张票"); //出票速度是1秒一张 try{ Thread.sleep(1000); }catch(Exception e){ e.printStackTrace(); } nums--; }else { System.out.println("售票结束"); break; } } } } }
相关文章推荐
- Delphi中多线程用Synchronize实现VCL数据同步显示 解决在线程中操作控件出现问题
- 使用synchronized关键字解决共享数据同步问题:多线程门票销售
- synchronized解决多线程共享数据同步问题
- Linux中解决多线程互斥同步的问题
- U**G项目数据同步问题(解决篇)
- GNU/Linux中解决多线程互斥同步问题
- 解决两相同数据同步的问题
- GFS安装实例-解决共享存储文件系统数据不同步问题
- ecshop 通过UCenter 与 Discuz! x2整合时 ECSHOP接口的同步登出问题
- Hibernate 数据不同同步,重启Tomcat后才同步的问题解决
- DataGridView多线程更新数据的问题的解决办法
- 通过下面代码可以解决从表单得到的数据是乱码的问题
- 通过接口获取大量数据,内存溢出的问题
- 解决两相同数据同步的问题(续)
- [ js ] 可否用多线程的思路,解决大数量数据的性能问题?
- Ajax按需读取数据生成下级菜单(调试通过,乱码问题没解决)
- synchronized是解决多线程中同步问题的一个关键字
- 解决两相同数据库数据同步的问题 (续)
- 解决VS2005 远程工具无法通过同步软件连接S5pv210 样机的问题