java 实现多线程买票
今天同桌问了一个我一个多线程的问题,其实很简单,但是,我没有马上解决
今天记录一下,
synchronized 加锁,有一点小心的是,这个只能对对象加锁,因为所有的对象的父亲都是object
其中onject 有相关的线程操作的方法,之前,我对共用资源使用的 int ,,所以,无法对共有资源加锁,
因为是对一个static 资源操作,所以我有的资源都是一个源头
class Buy extends Thread {
private static volatile Integer ticket = 50;
private String name;
public Buy(String name) {
this.name = name;
}
@Override
public void run() {
synchronized (ticket) {
while (ticket > 1) {
System.out.println(name + "------" + ticket);
ticket--;
}
}
}
}
public class Main {
public static void main(String[] args) {
Buy buyA = new Buy("A");
Buy buyB = new Buy("B");
Buy buyC = new Buy("C");
buyA.start();
buyB.start();
buyC.start();
}
}
java 实现多线程买票相关推荐
- Java之多线程买票程序
Java之多线程买票程序 1.要求 要求五个线程,分别命名为售票窗口1.售票窗口 2.......售票窗口5, 一共100张票,每个售票窗口卖票的数量大致相同(20)张卖票时给与编号,每张票唯一. 每 ...
- java模拟多线程买票问题
多线程买票是java中的一个经典案例,其主要思想无非包括2点,synchronized和锁,两者中,前者实现同步,后者为同步的线程提供锁,从而实现多个线程共享同一份资源时候,能够同步进行; 经典的方式 ...
- java 买票 多线程_java多线程买票问题
自己写了一个多线程买票的实例,运行结果也对了,但是自己解释不了,谁能帮忙解释一下为什么结果会正确?import java.util.concurrent.ExecutorService; import ...
- java多线程买票实例
3个窗口同时买票 * * 同步: * 1:同步代码块 * synchronized(锁对象(唯一)){ * * -需要被同步的代码 * * } * 2:同步方法 * 修饰符 synchronized ...
- java模拟火车站买票的过程_Java常用代理
在我们通常的应用中,代理模式也是我们常用的设计模式之一.所谓的代理模式是指客户端并不直接调用实际的对象,而是通过调用代理对象,来间接的调用实际的对象. 为什么要采用这种间接的形式来调用对象呢?一般是因 ...
- java实验(多线程买票)
题目: 编写一个Java多线程应用程序,完成三个售票窗口同时出售20张票.具体要求如下:票数要使用同一个静态值:为保证不会出现卖出同一个票数,要java多线程同步锁. 设计思路 创建一个站台类Stat ...
- Java线程同步-模拟买票
文章首发于 2020-11-29 知乎文章:Java线程同步-模拟买票 作者:落雨湿红尘(也是我o) 01 导语 本文使用JAVA代码模拟买票场景下的业务交互,通过示例讲解线程的初始化.线程同步等ja ...
- java 小程序 多线程_《多线程练习—买票小程序——Java第十四周》
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: < ...
- JAVA多线程作业-多人买票
JAVA多线程作业 作业要求: 1. 假设现在有一个售票员进行售票,票价为5元,初始状态:票数不限,票售员手中有1张10元钱: 2. 每来一个顾客买票,相当于是创建一个线程,注意,此时顾客共享的资源是 ...
最新文章
- 判断ShellExecute函数是否执行完一个程序的方法
- Dubbo的静态服务
- pipe创建匿名管道`
- python中变量的基本使用及命名规则
- php 浮点型float 强转int php金额计算 php元转分
- hashmap应用场景_Redis 5种数据结构 及使用场景分析
- 前端学习(3061):vue+element今日头条管理-接口分页参数说明
- android最新设计规范,Android应用未来的设计规范
- maven 从入门到实战
- [转]Mysql FROM_UNIXTIME as UTC
- php订单号生成规则,项目笔记之订单号生成规则以及方法,第一篇!
- mysql mapinfo_MapInfo常见数据格式
- vncserver 设置过万的分辨率_修改vnc远程桌面分辨率,2种修改vnc远程桌面分辨率的方法...
- 数学4如何用计算机画正切函数图像,正切函数图像
- NFS服务器工作原理及权限设置
- 【链世纪对话系列No.9】浪潮存储资深架构师叶毓睿:浪潮如何助力分布式云存储数据中心快速发展?
- 开启虚拟机的时候出现不支持虚拟化的Intel VT-x/EPT
- 数字信号与模拟信号的区别(转载)
- 按照实际案例用常用的查壳去壳和加壳工具说明使用方法
- 华硕x550JK,i5改进
热门文章
- 小程序反馈功能并回显(包括前后端)
- 香港金管局正式推出商业数据通
- changtiger http://sites.google.com/site/o52tger/推荐一个网站给大家看下 !!!
- 二叉树遍历(Binary Tree Traversal)
- 第九届蓝桥杯C/C++B组---明码
- Linux中同步数据之scp VS rsync
- 我一个程序员的作息时间表及学习工作效率问题
- 外贸人怎么给客户发春节祝福和放假通知邮件快进来抄作业
- 计算机理论基础知识格林闭包,计算机基础知识题库801-1200.docx
- 新思科技招聘 | 5月热招职位(内推哦)