博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模拟售火车票 多线程
阅读量:4606 次
发布时间:2019-06-09

本文共 1334 字,大约阅读时间需要 4 分钟。

100张票,10个窗口(10个线程模拟),实现线程卖票计数
import java.util.Iterator;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;public class SellTicket implements Runnable {		private int count = 100;	static Map
map = new ConcurrentHashMap
(); public static void main(String[] args) { SellTicket st = new SellTicket(); for (int i = 0; i < 10; i++) { Thread thread = new Thread(st); map.put(thread.getName(), 0); thread.start(); } } @Override public void run() { while (true) { synchronized(this){ if(count > 0){ count--; System.out.println("线程=" + Thread.currentThread().getName() + ";剩余票数=" + count); Iterator
> i = map.entrySet().iterator(); while(i.hasNext()){ Map.Entry
entry=(Map.Entry
)i.next(); if(entry.getKey().equals(Thread.currentThread().getName())) map.put(entry.getKey(), entry.getValue().intValue() + 1); } }else if(count==0){ Iterator
> i = map.entrySet().iterator(); while(i.hasNext()){ Map.Entry
entry=(Map.Entry
)i.next(); System.out.println("线程=" + entry.getKey() + ";卖票数=" + entry.getValue()); } } } try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } }}

  

 

 

 

 

转载于:https://www.cnblogs.com/evilrogue/archive/2013/01/11/2856531.html

你可能感兴趣的文章
JavaScript将具有父子关系的原始数据格式化成树形结构数据(id,pid)
查看>>
MySQL服务使用
查看>>
C语言练手自己编写学生成绩管理系统
查看>>
20175204 张湲祯 2018-2019-2《Java程序设计》第二周学习总结
查看>>
How to lisp Lisp output a paragraph"500 Tph Dry Process Cement Plant Machinery Manufacturers"
查看>>
OpenMobile's Application Compatibility Layer (ACL)
查看>>
竞价广告系统-广告检索
查看>>
强哥PHP面向对象学习笔记
查看>>
[转]基于.NET平台常用的框架整理
查看>>
Symbian (Read Inbox)读取收件箱的内容
查看>>
良好的编程规范
查看>>
struts2 入门
查看>>
.net 编译原理
查看>>
mean 快速开发和现有技术的对比分析
查看>>
Metro Style app :浏览器扩展
查看>>
linux的kernel是怎样工作的(TI_DM36X_ARM系统)(1)
查看>>
[luogu4310] 绝世好题 (递推)
查看>>
[luogu3203 HNOI2010] 弹飞绵羊 (分块)
查看>>
-Dmaven.multiModuleProjectDirectory system propery is not set.
查看>>
Python2 unichr() 函数
查看>>