写一个多线程卖票的程序

/*** @author tom* @date 2022-03-29 15:33*/
public class SaleTickets {public static void main(String[] args) {T t = new T();for (int i = 0; i < 10; i++) {new Thread(t).start();}}}
class T implements Runnable{// 定义售票数量private static int tickets = 100;@Overridepublic void run() {while (true){// 锁住当前对象synchronized (this){if (tickets >= 1){System.out.println(Thread.currentThread().getName() + " 正在售卖第 " + tickets + " 张票 ");tickets--;} else {System.out.println(Thread.currentThread().getName() + " 票已经卖完");break;}}try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}}}}

Java代码实现多线程卖票相关推荐

  1. Java简单的多线程卖票

    package xiancheng; /*定义一个MaiPiao类实现Runnable接口,里面定义一个成员变量: private int tickets =100(票数);在类中重写run()方法实 ...

  2. Lock锁实现多线程卖票

    理解多线程卖票demo Lock架构 使用lock替代synchronized 总结 使用Lock 实现. Lock架构 使用lock替代synchronized import java.util.c ...

  3. Python 多线程卖票问题

    Python 多线程卖票问题 在学习多线程的时候,我们经常要学习到多窗口售票这一经典案例,今天我们将用Python语言写一个简单易懂的售票程序,帮助大家学习理解 有以下要求: 第一.不能出现打印出现混 ...

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

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

  5. Java多线程(卖票案例)

    1.卖票案例需求分析 某天某个景区售票,门票票只有100张,景区有三个售票窗口,同时售票,共享票源(100张) 通过多线程的方式实现三个售票窗口同时售票 首先要明确票源只能有一个 其次需要创建三个Th ...

  6. Java 多线程 卖票

    需求: 某电影院目前正在上映国产大片, 公有100张票 , 而它有3个窗口卖票, 设计一个程序模拟该电影院卖票 1.定义一个类SellTicke实现Runnable接口, 里面定义一个成员变量: 2. ...

  7. 多线程卖票深刻分析:为什么会出现只有一个窗口卖票的现象

    一.需求分析: 模拟卖票窗口,实现5个窗口同时卖100张票(代码为了截图采用30张票) 知识点:多线程,锁,多线程的安全问题,线程的生命周期 二.代码实现 public class TestSellT ...

  8. JUC学习(一):synchronized的介绍及使用(实现多线程卖票)

    一.synchronized简介 synchronized 是 Java 中的关键字,是一种同步锁.它修饰的对象有以下几种: 1.修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{} ...

  9. JUC学习(二):Lock的介绍及使用(实现多线程卖票)

    一.Lock简介 Lock 锁实现提供了比使用同步方法和语句可以获得的更广泛的锁操作.它们允许更灵活的结构,可能具有非常不同的属性,并且可能支持多个关联的条件对象.Lock 提供了比 synchron ...

最新文章

  1. 【opencv】(8) 傅里叶变换,高通低通滤波器
  2. python 亮度一致_Python玩转各种多媒体,视频、音频到图片
  3. 《响应式Web图形设计》一13.2 缩放图像带来的问题
  4. android手机定位
  5. 小程序 foreach_【第2106期】小程序依赖分析实践
  6. EfficientNetV2:训练速度快了5~10x,更小,更快,精度更高的EfficientNet
  7. Lync Server 2010迁移至Lync Server 2013部署系列 Part7:配置Office Web App 02
  8. it营Typescript学习笔记02(基础完结)模块,命名空间,装饰器
  9. WT2003H语音芯片(模组)是如何让雾化加湿助眠器方案 设计简单化、标准化?
  10. C# 打开和关闭软键盘
  11. POJ 1625 Censored!(AC自动机-指针版+DP+大数)题解
  12. python批量删除文件名中的下划线-代码详解
  13. AE制作粉笔字特效教程 3分钟快速制作Vlog片头
  14. 2020北航计算机夏令营机试题目个人理解
  15. 放回c41_数学排列组合C41C43怎么算
  16. Elesticesearch
  17. IE重新装ActiveX控件
  18. 最新传智播客P2P金融项目网络借贷平台开发
  19. 笨办法学python3进阶篇_笨办法学Python 3 进阶篇
  20. bp神经网络图像特征提取,一文搞定bp神经网络

热门文章

  1. 【温和从容,岁月静好】
  2. 勤奋,不足以让你过上好日子
  3. 帝国备份王mysql导入_使用帝国备份王EmpireBak备份与恢复网站的MySQL数据库
  4. 题7.15:要求输入一个职工号,用折半查找法查找出该职工的姓名,从主函数输入要查找的职工号,输出该职工姓名。按职工号由小到大顺序排序,姓名顺序也随之调整
  5. 延迟补偿在C/S架构游戏协议设计和优化中的应用
  6. 《Javscript实用教程》
  7. [caffe学习笔记]用自己的数据进行训练和测试
  8. linux vim拷贝if tab,vim文本编辑器
  9. 凡科自建网站有服务器吗,如何搭建网站服务器,有什么步骤?
  10. java.security Cipher 对象详细介绍