设有火车票1000张,创建10个线程模拟10个售票点,每个售票点100毫秒售出一张票。请模拟并打印出售票过程。
设有火车票1000张,创建10个线程模拟10个售票点,每个售票点100毫秒售出一张票。请模拟并打印出售票过程。
public class RunnableImpl implements Runnable {private int ticket = 1;Object obj = new Object();@Overridepublic void run() {while(true){synchronized (obj){if(ticket<=1000){try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("第"+Thread.currentThread().getName()+"售票点卖出第"+ticket+"张票");ticket++;}}}}
}
实现类
public class SellTicket {public static void main(String[] args) {RunnableImpl impl = new RunnableImpl();new Thread(impl,"1").start();new Thread(impl,"2").start();new Thread(impl,"3").start();new Thread(impl,"4").start();new Thread(impl,"5").start();new Thread(impl,"6").start();new Thread(impl,"7").start();new Thread(impl,"8").start();new Thread(impl,"9").start();new Thread(impl,"10").start();}
}
设有火车票1000张,创建10个线程模拟10个售票点,每个售票点100毫秒售出一张票。请模拟并打印出售票过程。相关推荐
- 1000个并发线程,10台机器,每台机器4核,设计线程池大小
这是why哥的第 71 篇原创文章 一道面试题 兄弟们,怎么说? 我觉得如果你工作了两年左右的时间,或者是突击准备了面试,这题回答个八成上来,应该是手到擒来的事情.这题中规中矩,考点清晰,可以说的东西 ...
- java语言打印1到10的偶数_#Java编程# 编写一个应用程序创建两个线程,一个线程打印输出1~100之间所有的奇数,另外一 求写一个用JAVA求1~...
import java.util.Random; class A extends Thread { \tint i=1; \tRandom r=new Random(); \tpublic void ...
- java 10个线程_Java线程池创建10个线程
Q1:在Java并发编程中,如何扩展和优化线程池? 在java中多线程并不陌生,在一定的范围内,多线程数量的增加会明显提升整个系统的吞吐性能,但是线程本身会极大的耗费内存空间,线程的频繁创建和回收也极 ...
- 模拟“12306”服务端架构:100万人同时抢1万张火车票
▼数据猿年度征集评选正在进行中▼ 大数据产业创新服务媒体-聚焦数据·改变商业 数据猿官网 | www.datayuan.cn 今日头条丨一点资讯丨腾讯丨搜狐丨网易丨凤凰丨阿里UC大鱼丨新浪微博丨新浪看 ...
- 操作系统实验报告10:线程1
操作系统实验报告10 实验内容 实验内容:线程(1). 编译运行课件 Lecture13 例程代码: Algorithms 13-1 ~ 13-8 实验环境 架构:Intel x86_64 (虚拟机) ...
- Java:使用Executors创建和管理线程
http://zhangjunhd.blog.51cto.com/113473/70068/ 1. 类 Executors 此类中提供的一些方法有: 1.1 public static Executo ...
- linux clone线程,如何在Linux上使用clone()创建真正的线程?
我正在尝试使用clone()创建一个新线程.使用以下代码(-): #include #include #include #define _SCHED_H 1 #define __USE_GNU 1 # ...
- idhttpserver是按线程接受请求的吗_1000个并发线程,10台机器,每台机器4核,设计线程池大小...
一道面试题 兄弟们,怎么说? 我觉得如果你工作了两年左右的时间,或者是突击准备了面试,这题回答个八成上来,应该是手到擒来的事情.这题中规中矩,考点清晰,可以说的东西不是很多. 但是这都上血书了,那不得 ...
- java(线程池的创建方式,和线程池的原理)
1.为什么要使用线程池: 减少资源消耗,通过重复的使用已创建好的线程,避免了线程的频繁创建和销毁所造成的消耗 提高响应速度,当任务到达的时候,不需要再去创建,可以直接使用已经创建好的线程就能立即执 ...
最新文章
- python写if_用python编写if-else的更优雅的方法
- GitHub 热榜:这款开源神器可帮您将文本转换为手写文字,并下载为 PDF 格式文件!...
- Dockerfile详解(二)
- python anaconda和pycharm_Pycharm下 Anaconda和Conda的使用
- 7.深度学习练习:Regularization
- docker非常详细的介绍
- 使用源代码编译安装基于LAMP的网站架构
- 数据外推算法 c语言,[原创]如何进行内插法和外推法的计算
- OpenSIPS脚本中的flag
- 用Python分析《都挺好》中的人物关系
- rna-seq分析流程 全套
- 《近匠》专访Ayla Networks云平台工程部主管——企业级物联网云平台的设计与部署...
- 百度地图Polyline画直线
- 云宏信息科技股份有限公司
- VBA遍历文件夹下的所有文件
- SEO面试题与面试攻略
- 离散学习--笛卡尔积
- 让OpenAi给我写个JS的set对象的笔记和快速去重方法
- PDF文件加密了如何破解
- 用马青公式计算π的c程序
热门文章
- 数据结构和算法笔记(1)数论相关
- 16.深度解密十六:解密投放百度竞价广告效果提升的问题讲解
- SpringMVC源代码学习外传(一)xml命名空间的解析NamespaceHandler
- WORD文档只显示一页,后面几页都挤在一起了
- C#将数据库连接方式写到配置文件中
- 使用VSTS的Git进行版本控制(五)——从Team Services Portal管理分支
- 电子计算机与多媒体的段解,5 电子计算机与多媒体 (2).doc
- 华为推出Track AI以帮助检测世界各地儿童视力障碍的早期迹象
- 178 第K短路(A*算法优化)
- 一个适合初学者的C++推箱子小游戏