资源简介
简单实现多线程同步示例(模拟购票系统),内容为实现多线程同步过程,模拟购票系统进行同步购买情况;该处并未考虑线程守护问题,后期将对线程锁等安全问题进行初步研究!
代码片段和文件信息
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
相关资源
- bookticket-master.zip
- 全网发布组件ticket正确接收失败解决
- 基于mongoose实现Http Server多线程
- Qt 多线程使用 QTcpSocket及QTimer
- pthreads-w32-2-8-0-release.exe
- MTTTY (Multi-Threaded TTY)
- QUdpSocket 多线程编程 moveToThread
- rt_thread_nano_stm32f30x
- windows下可用的pthread库
- QthreadPools.rar
- pthread多线程计算pi
- 基于Linux平台的网络聊天室设计
- NXP LPC1768 Rtthread/裸机+lwip WEB网页A
- 多线程下无同步和同步的简单对比
- 简易FTP客户端/服务端系统
- ADS1256 基于 RT-Thread 4.0.2 版本驱动程序
- win下Thread安装包
- (开源) Ring3下的DLL注入工具 x86(
- 一个linux下C实现的线程池源码
- LPC213X rtthread IAR项目bsp
- BlockingQueue队列自定义超时时间取消线
- eclipse的动画实现
- QT5线程QThread使用
- threadx 在arm9 上的移植指导
- pthread+多线程编程技术.pdf
- TicketBooking.zip
- 基于STM8定制轻量操作系统Aatomthreads官
- Qt 使用多线程QThread实现进度条
- rt-thread 完整源代码
- Qt Thread code
评论
共有 条评论