资源简介
简单实现多线程同步示例(模拟购票系统),内容为实现多线程同步过程,模拟购票系统进行同步购买情况;该处并未考虑线程守护问题,后期将对线程锁等安全问题进行初步研究!

代码片段和文件信息
package cn.com.chysoft.demo2;
import java.text.SimpleDateFormat;
/**
* 线程实现
*
* @author chenyong QQ:369232566
* @date 2013-03-21 下午14:14
*/
public class Instance implements Runnable {
private Ticket ticket;
private boolean isOk;// 是否购票成功
private TicketCentre centre;// 票务中心
private int wtime;// 购票耗时
public Instance(int wtime Ticket ticket) {
this.wtime = wtime;
this.ticket = ticket;
}
private final void fun(int wtime) {
this.centre = ticket.getCentre();
try {
this.isOk = this.centre.buy(this.ticket);// 购买
/**
* 设置余票,因为对象中的数值是共享的
*/
this.showMessage(this.ticket.getCentre().getSurplus());
Thread.sleep(wtime);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public void showMessage(int current) {
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss:SSSSSSS --> “);
StringBuffer sbCtx = new StringBuffer(sdf.format(this.ticket.getTime().getTime()));
sbCtx.append(this.ticket.getUser());
if (this.isOk) {
sbCtx.append(“ 在 “).append(Thread.currentThread().getName()).append(“ 购买 “).append(this.ticket.getNum()).append(“ 张票 当前剩余 “).append(current).append(“ 张。“);
} else {
sbCtx.append(“ 在 “).append(Thread.currentThread().getName()).append(“ 购买失败!“).append(“剩余 “).append(current).append(“ 张。“);
}
System.out.println(sbCtx);
}
public void run() {
this.fun(this.wtime);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1493 2013-03-21 14:18 demo2\Instance.java
文件 1283 2013-03-21 14:18 demo2\main2.java
文件 1000 2013-03-21 14:18 demo2\Ticket.java
文件 1169 2013-03-21 14:18 demo2\TicketCentre.java
目录 0 2013-03-21 11:25 demo2
----------- --------- ---------- ----- ----
4945 5
相关资源
- pthreads-w32-2-9-1-release.zip
- STM32基于rt_thread操作系统的SDHC卡文件
- Microsoft Windows Services for UNIX 3.5 版中的
- RT1052野火基于 RT-Thread 移植的littlevg
- STM32F103移植rt-thread
- Qt5的多线程小程序,实现按钮开关线
- RT-ThreadBLE5.0和ANT+应用开发实战指南
- 安卓短信会话,短信详情
- pthreads-w32-2-9-1-release
- 多线程编程指南[中文完整翻译版] –
- pthread源代码
- RTthread 3.0 编程指南
- RT-thread-0.3.1
- pthreads-w32-2-8-0-release.exe及编译方法
- (开源) Ring3下的DLL注入工具 x64(
- STM32L431RC裸机移植RTT完整工程代码.r
- 生产者-消费者进程实现Produce_Consume
- RT-THREAD 编程指南.pdf
- rtthread stm32f1xx hal bsp 偏移地址0x4000
- RT-Thread 串口IAP升级
- 采用AfxBeginThread创建工作线程
- 采用_beginthread创建多线程
- 多线程同步演示采用CreateThread()和
- Intel Threading Building Blocks编程指南
- rtthread手册
- 嵌入式实时操作系统的多线程计算-
- rtthread_manual.zh.pdf
- stm32f103 RT_Thread lwip移植步骤说明
- RT-Thread STM32工程模板
- pthreads-w32-2.9.1-release.zip
评论
共有 条评论