import java.util.concurrent.Callable;
import java.util.concurrent.Future;
import java.util.concurrent.FutureTask;public class JavaTest {public static void main(String[] args) {SaleTicket st = new SaleTicket();Thread t1 = new Thread(st, "一号窗口");Thread t2 = new Thread(st, "二号窗口");Thread t3 = new Thread(st, "三号窗口");Thread t4 = new Thread(st, "四号窗口");t1.start();t2.start();t3.start();t4.start();}
}class SaleTicket extends Thread {// sale英 [seɪl] n.拍卖;卖,出卖;private int tickets = 100;@Overridepublic void run() {while (tickets > 0) {sale();}}private synchronized void sale() {// synchronized 同步。if (tickets > 0) {System.out.println(Thread.currentThread().getName() + "卖出了第"+ (100 - tickets + 1) + "张票");tickets--;try {Thread.sleep(500);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}// 假设购票过程需要500毫秒。}}
}

多线程卖火车票简单例子相关推荐

  1. java多线程卖火车票_Java多线程小例子(三个窗口卖火车票)

    class Ticket implements Runnable{ private int TicketNum = 100; //100张火车票 private boolean flag = true ...

  2. 多线程卖火车票的问题

    同步代码块: synchronized(object) {} 其中object为我们使用的同步锁,对于继承的方式,使用this或者创建一个非静态对象作为锁是无用的,无法阻止错误数据的产生.所以我们使用 ...

  3. python多线程实现生产者消费者_用Python实现多线程“生产者-消费者”模型的简单例子...

    用 Python 实现多线程"生产者 - 消费者"模型的简单例子 生产者消费者问题是一个著名的线程同步问题, 该问题描述如下: 有一个生产者在生产产品, 这些产品将提供给若干个消费 ...

  4. java线程池售票_Java多线程卖票例子

    以卖票的例子来介绍多线程和资源共享. 卖票是包含一系列动作的过程,有各种操作,例如查询票.收钱.数钱.出票等,其中有一个操作是每次卖掉一张,就将总的票数减去1.有10张票,如果一个人卖票,先做查票.收 ...

  5. c++多线程实例(模拟卖火车票小程序)

    //这是2个线程模拟卖火车票的小程序 #include <windows.h> #include <iostream> using namespace std;DWORD WI ...

  6. C#通信之Socket通信的简单例子

    socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 这里构建一个简单的例子 ...

  7. python 多线程就这么简单(续)

    python 多线程就这么简单(续) 之前讲了多线程的一篇博客,感觉讲的意犹未尽,其实,多线程非常有意思.因为我们在使用电脑的过程中无时无刻都在多进程和多线程.我们可以接着之前的例子继续讲.请先看我的 ...

  8. python 多线程就这么简单

    python 多线程就这么简单 多线程和多进程是什么自行google补脑 对于python 多线程的理解,我花了很长时间,搜索的大部份文章都不够通俗易懂.所以,这里力图用简单的例子,让你对多线程有个初 ...

  9. VC API常用函数简单例子大全(1-89)

    第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄 函数的定义:HWND WINAPI FindWindow(LPCSTR lpClassName ,LPCST ...

最新文章

  1. 独家|OpenCV 1.1 Mat - 基本图像容器(附链接)
  2. springboot 整合mybatis_SpringBoot整合MyBatis框架快速入门
  3. 汇编解析(3)-nasm基础、物理地址
  4. @Retention注解
  5. 如何解决360浏览器卡死的问题
  6. rmi远程反序列化rce漏洞_Apache Dubbo Provider默认反序列化远程代
  7. mac自动生成路径问题
  8. 为什么要学数据结构?| 原力计划
  9. Java中的关键字有哪些?「Java中53个关键字的意义及使用方法」
  10. MySQL练习题(经典50题)
  11. 《算法刷题LeetCode(中文版)》
  12. wind 债券数据 python_【Python学习】使用Wind接口分析同业存单的到期数据
  13. 数字孪生的4个最佳实践
  14. Debugger and device times had drifted by more than 60s. Please correct this by running adb shell da
  15. kaldi 的安装和thchs30语音识别测试
  16. MongoDB学习笔记(三)
  17. php的ceil,php ceil函数怎么用?
  18. 谷歌(Google)的新魔法——云计算
  19. 如何查看Outlook搜索出的邮件所在的文件夹
  20. springboot中使用freemarker根据flt模板导出word、pdf文档

热门文章

  1. SDS离全面EC(纠删码)还有多远?
  2. 开发了一款基于 Flask 框架的在线电影网站系统(附 Python 源码)
  3. HTML+CSS基础(转载)
  4. 卫生专业人士请求WHO指导民众用鼻腔喷雾剂抗击COVID-19大流行、 医生用其治疗患者
  5. 【瑞萨RA_FSP】GPT—— 通用PWM定时器
  6. 安卓TextView的lineHeight*lineCount!=height问题,解决不支持滚动的系统下对多页Text进行分页
  7. 什么是控制反转(IoC)?
  8. 【SpringMVC学习01】宏观上把握SpringMVC框架
  9. 使用el-date-picker渲染报错
  10. 计算机与科学运用的领域,计算机的应用领域有哪些