Java多线程demo:售票
来源:互联网 发布:python ascii计算 编辑:程序博客网 时间:2024/05/21 11:20
java多线程的简单demo:售票
import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;public class SaleTicket implements Runnable {private int tickets = 100; private synchronized int sale(){ if(tickets > 0){ System.out.println(Thread.currentThread().getName() + "********余票: "+ (tickets)+"张票"); tickets--; /* try{ Thread.sleep(50); }catch(InterruptedException e){ e.printStackTrace(); } */ }return tickets+1; } private void TheTicket(int tickets){ try{ Thread.sleep(500); DateFormat bf = new SimpleDateFormat("yyyy-MM-dd E a HH:mm:ss"); System.out.println(Thread.currentThread().getName()+"**********" +bf.format(new Date())+ "出票成功 !!! 第"+ (tickets)+"张票" ); }catch(InterruptedException e){ e.printStackTrace(); } }@Overridepublic void run() { if(tickets > 0){ TheTicket(sale()); } else{ System.out.println(Thread.currentThread().getName()+"没票了"); } } }
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class Test { public static void main(String[] args) throws Exception { int count =160;//买票人数 int taskSize = count <40 ? 5 : 10; // 创建一个线程池 ExecutorService pool = Executors.newFixedThreadPool(taskSize); SaleTicket c =new SaleTicket(); for (int i = 0; i < count; i++) { // 执行任务 pool.submit(c); } // 关闭线程池 pool.shutdown(); }}多线程相当于多个窗口售票,可以提高售票速度,这个简单的小demo希望能对大家有所帮助
阅读全文
1 0
- Java多线程demo:售票
- 通过模拟火车售票窗口小Demo初识java多线程
- JAVA多线程售票问题
- Java多线程--售票代码
- Java多线程售票问题
- JAVA多线程售票问题
- java多线程实现售票
- JAVA多线程售票问题
- java多线程实现售票
- java多线程售票实现
- java多线程模拟售票
- Java-多线程实现售票
- java 多线程火车票售票实例
- Java多线程编程,模拟售票
- java 多线程模拟售票系统
- java多线程售票小例子
- 多线程售票
- Java:多线程模拟多站点售票过程
- Python argvs用法
- win7 和 ubuntu16.04 双系统时间同步设置方法
- 新闻上的文本分类:机器学习大乱斗 王岳王院长 王岳王院长 5 个月前 目标 从头开始实践中文短文本分类,记录一下实验流程与遇到的坑 运用多种机器学习(深度学习 + 传统机器学习)方法比较短文本分类处
- 单例模式
- bootstrap、angularJS、nodeJs、reactJs视频教程
- Java多线程demo:售票
- 基于CC2640的SPI通讯
- ACM常用对拍程序
- (六)spring cloud云服务架构
- 1030. 完美数列(两个指针)
- spring boot常用的依赖
- spring boot之HelloWorld详解
- [jzoj1163]第k短路
- 32位随机码生成工具类