设有火车票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毫秒售出一张票。请模拟并打印出售票过程。相关推荐

  1. 1000个并发线程,10台机器,每台机器4核,设计线程池大小

    这是why哥的第 71 篇原创文章 一道面试题 兄弟们,怎么说? 我觉得如果你工作了两年左右的时间,或者是突击准备了面试,这题回答个八成上来,应该是手到擒来的事情.这题中规中矩,考点清晰,可以说的东西 ...

  2. 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 ...

  3. java 10个线程_Java线程池创建10个线程

    Q1:在Java并发编程中,如何扩展和优化线程池? 在java中多线程并不陌生,在一定的范围内,多线程数量的增加会明显提升整个系统的吞吐性能,但是线程本身会极大的耗费内存空间,线程的频繁创建和回收也极 ...

  4. 模拟“12306”服务端架构:100万人同时抢1万张火车票

    ▼数据猿年度征集评选正在进行中▼ 大数据产业创新服务媒体-聚焦数据·改变商业 数据猿官网 | www.datayuan.cn 今日头条丨一点资讯丨腾讯丨搜狐丨网易丨凤凰丨阿里UC大鱼丨新浪微博丨新浪看 ...

  5. 操作系统实验报告10:线程1

    操作系统实验报告10 实验内容 实验内容:线程(1). 编译运行课件 Lecture13 例程代码: Algorithms 13-1 ~ 13-8 实验环境 架构:Intel x86_64 (虚拟机) ...

  6. Java:使用Executors创建和管理线程

    http://zhangjunhd.blog.51cto.com/113473/70068/ 1. 类 Executors 此类中提供的一些方法有: 1.1 public static Executo ...

  7. linux clone线程,如何在Linux上使用clone()创建真正的线程?

    我正在尝试使用clone()创建一个新线程.使用以下代码(-): #include #include #include #define _SCHED_H 1 #define __USE_GNU 1 # ...

  8. idhttpserver是按线程接受请求的吗_1000个并发线程,10台机器,每台机器4核,设计线程池大小...

    一道面试题 兄弟们,怎么说? 我觉得如果你工作了两年左右的时间,或者是突击准备了面试,这题回答个八成上来,应该是手到擒来的事情.这题中规中矩,考点清晰,可以说的东西不是很多. 但是这都上血书了,那不得 ...

  9. java(线程池的创建方式,和线程池的原理)

    1.为什么要使用线程池:   减少资源消耗,通过重复的使用已创建好的线程,避免了线程的频繁创建和销毁所造成的消耗 提高响应速度,当任务到达的时候,不需要再去创建,可以直接使用已经创建好的线程就能立即执 ...

最新文章

  1. python写if_用python编写if-else的更优雅的方法
  2. GitHub 热榜:这款开源神器可帮您将文本转换为手写文字,并下载为 PDF 格式文件!...
  3. Dockerfile详解(二)
  4. python anaconda和pycharm_Pycharm下 Anaconda和Conda的使用
  5. 7.深度学习练习:Regularization
  6. docker非常详细的介绍
  7. 使用源代码编译安装基于LAMP的网站架构
  8. 数据外推算法 c语言,[原创]如何进行内插法和外推法的计算
  9. OpenSIPS脚本中的flag
  10. 用Python分析《都挺好》中的人物关系
  11. rna-seq分析流程 全套
  12. 《近匠》专访Ayla Networks云平台工程部主管——企业级物联网云平台的设计与部署...
  13. 百度地图Polyline画直线
  14. 云宏信息科技股份有限公司
  15. VBA遍历文件夹下的所有文件
  16. SEO面试题与面试攻略
  17. 离散学习--笛卡尔积
  18. 让OpenAi给我写个JS的set对象的笔记和快速去重方法
  19. PDF文件加密了如何破解
  20. 用马青公式计算π的c程序

热门文章

  1. 数据结构和算法笔记(1)数论相关
  2. 16.深度解密十六:解密投放百度竞价广告效果提升的问题讲解
  3. SpringMVC源代码学习外传(一)xml命名空间的解析NamespaceHandler
  4. WORD文档只显示一页,后面几页都挤在一起了
  5. C#将数据库连接方式写到配置文件中
  6. 使用VSTS的Git进行版本控制(五)——从Team Services Portal管理分支
  7. 电子计算机与多媒体的段解,5 电子计算机与多媒体 (2).doc
  8. 华为推出Track AI以帮助检测世界各地儿童视力障碍的早期迹象
  9. 178 第K短路(A*算法优化)
  10. 一个适合初学者的C++推箱子小游戏