多线程卖火车票简单例子
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毫秒。}}
}
多线程卖火车票简单例子相关推荐
- java多线程卖火车票_Java多线程小例子(三个窗口卖火车票)
class Ticket implements Runnable{ private int TicketNum = 100; //100张火车票 private boolean flag = true ...
- 多线程卖火车票的问题
同步代码块: synchronized(object) {} 其中object为我们使用的同步锁,对于继承的方式,使用this或者创建一个非静态对象作为锁是无用的,无法阻止错误数据的产生.所以我们使用 ...
- python多线程实现生产者消费者_用Python实现多线程“生产者-消费者”模型的简单例子...
用 Python 实现多线程"生产者 - 消费者"模型的简单例子 生产者消费者问题是一个著名的线程同步问题, 该问题描述如下: 有一个生产者在生产产品, 这些产品将提供给若干个消费 ...
- java线程池售票_Java多线程卖票例子
以卖票的例子来介绍多线程和资源共享. 卖票是包含一系列动作的过程,有各种操作,例如查询票.收钱.数钱.出票等,其中有一个操作是每次卖掉一张,就将总的票数减去1.有10张票,如果一个人卖票,先做查票.收 ...
- c++多线程实例(模拟卖火车票小程序)
//这是2个线程模拟卖火车票的小程序 #include <windows.h> #include <iostream> using namespace std;DWORD WI ...
- C#通信之Socket通信的简单例子
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 这里构建一个简单的例子 ...
- python 多线程就这么简单(续)
python 多线程就这么简单(续) 之前讲了多线程的一篇博客,感觉讲的意犹未尽,其实,多线程非常有意思.因为我们在使用电脑的过程中无时无刻都在多进程和多线程.我们可以接着之前的例子继续讲.请先看我的 ...
- python 多线程就这么简单
python 多线程就这么简单 多线程和多进程是什么自行google补脑 对于python 多线程的理解,我花了很长时间,搜索的大部份文章都不够通俗易懂.所以,这里力图用简单的例子,让你对多线程有个初 ...
- VC API常用函数简单例子大全(1-89)
第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄 函数的定义:HWND WINAPI FindWindow(LPCSTR lpClassName ,LPCST ...
最新文章
- 独家|OpenCV 1.1 Mat - 基本图像容器(附链接)
- springboot 整合mybatis_SpringBoot整合MyBatis框架快速入门
- 汇编解析(3)-nasm基础、物理地址
- @Retention注解
- 如何解决360浏览器卡死的问题
- rmi远程反序列化rce漏洞_Apache Dubbo Provider默认反序列化远程代
- mac自动生成路径问题
- 为什么要学数据结构?| 原力计划
- Java中的关键字有哪些?「Java中53个关键字的意义及使用方法」
- MySQL练习题(经典50题)
- 《算法刷题LeetCode(中文版)》
- wind 债券数据 python_【Python学习】使用Wind接口分析同业存单的到期数据
- 数字孪生的4个最佳实践
- Debugger and device times had drifted by more than 60s. Please correct this by running adb shell da
- kaldi 的安装和thchs30语音识别测试
- MongoDB学习笔记(三)
- php的ceil,php ceil函数怎么用?
- 谷歌(Google)的新魔法——云计算
- 如何查看Outlook搜索出的邮件所在的文件夹
- springboot中使用freemarker根据flt模板导出word、pdf文档
热门文章
- SDS离全面EC(纠删码)还有多远?
- 开发了一款基于 Flask 框架的在线电影网站系统(附 Python 源码)
- HTML+CSS基础(转载)
- 卫生专业人士请求WHO指导民众用鼻腔喷雾剂抗击COVID-19大流行、 医生用其治疗患者
- 【瑞萨RA_FSP】GPT—— 通用PWM定时器
- 安卓TextView的lineHeight*lineCount!=height问题,解决不支持滚动的系统下对多页Text进行分页
- 什么是控制反转(IoC)?
- 【SpringMVC学习01】宏观上把握SpringMVC框架
- 使用el-date-picker渲染报错
- 计算机与科学运用的领域,计算机的应用领域有哪些