生成随机数模拟售票,学习多线程
2013-04-22 17:21
525 查看
最近应用开发的程过中出现了一个小问题,顺便记录一下原因和方法--生成随机数
假设有火车票100张,创立10个程线模拟10个售票点,每一个售票点随机生成间时卖一张票。 印打出售票程过,注意应用synchronized确保一同张票只能卖出一次。
每日一道理
信念是巍巍大厦的栋梁,没有它,就只是一堆散乱的砖瓦;信念是滔滔大江的河床,没有它,就只有一片泛滥的波浪;信念是熊熊烈火的引星,没有它,就只有一把冰冷的柴把;信念是远洋巨轮的主机,没有它,就只剩下瘫痪的巨架。
文章结束给大家分享下程序员的一些笑话语录: 很多所谓的牛人也不过如此,离开了你,微软还是微软,Google还是Google,苹果还是苹果,暴雪还是暴雪,而这些牛人离开了公司,自己什么都不是。
假设有火车票100张,创立10个程线模拟10个售票点,每一个售票点随机生成间时卖一张票。 印打出售票程过,注意应用synchronized确保一同张票只能卖出一次。
import java.text.SimpleDateFormat; import java.util.Date; public class Resource { int ticketNum; boolean flag = false; SimpleDateFormat sdf; int i = 1; public Resource(int ticketNum) { this.ticketNum = ticketNum; sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS"); } public synchronized void sellTicket(Seller s) { if (i <= ticketNum) { System.out.println("在" + sdf.format(new Date()) + " 第" + s.num + "售票点卖了第" + i + "张票..."); i++; } else { flag = true; } } }
每日一道理
信念是巍巍大厦的栋梁,没有它,就只是一堆散乱的砖瓦;信念是滔滔大江的河床,没有它,就只有一片泛滥的波浪;信念是熊熊烈火的引星,没有它,就只有一把冰冷的柴把;信念是远洋巨轮的主机,没有它,就只剩下瘫痪的巨架。
public class Seller implements Runnable { int num; Resource rs; public Seller(int num, Resource rs) { super(); this.num = num; this.rs = rs; } @Override public void run() { // TODO Auto-generated method stub while (rs.flag == false) { // 用调资源类的同步方法 rs.sellTicket(this); try { // 生成随机数(范围1-1000) int random = (int) (Math.random() * 1000); Thread.sleep(random); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Resource rs = new Resource(100); for (int i = 0; i < 10; i++) { Thread t = new Thread(new Seller(i, rs)); t.start(); } } }
文章结束给大家分享下程序员的一些笑话语录: 很多所谓的牛人也不过如此,离开了你,微软还是微软,Google还是Google,苹果还是苹果,暴雪还是暴雪,而这些牛人离开了公司,自己什么都不是。
相关文章推荐
- Java学习之:多线程(模拟售票)
- 模拟售票,学习多线程
- 代码分享:模拟售票 学习多线程
- 1多线程的概述2多线程(创建多个线程实例,并启动多个线程)的实现方式,main主方法是单线程的4多线程的实现方式5多线程模拟火车站售票出现问题7线程的声明周期
- python 多线程笔记(4)-- 车站售票模拟
- Python学习笔记(2):生成随机数
- JAVA学习第六十课 — UDP协议 &基于多线程模拟简单的QQ聊天程序
- 数组的生成及其随机数【OpenCV学习笔记2】
- c++多线程——模拟售票
- Swift 系统学习 33 Thread currentThread isMainThread 创建线程四种方式 模拟售票
- 多线程生成随机数
- API学习Random类随机数生成
- 多线程环境下生成随机数
- 火车站售票模拟程序 (Win32 多线程)
- C++学习笔记:随机数的生成、double和float的区别
- 多线程----模拟窗口售票
- python模块学习-----加密、随机数生成
- java 多线程模拟售票系统
- Python 模块学习:random 随机数生成
- 通过多线程的同步于互斥,模拟售票