public class SaleTicketThread{public static void main(String[] args) {//创建共享资源对象TicketThread tt = new TicketThread();//创建线程Thread t1 = new Thread(tt,"窗口一");Thread t2 = new Thread(tt,"窗口二");Thread t3 = new Thread(tt,"窗口三");Thread t4 = new Thread(tt,"窗口四");//线程准备就绪t1.start();t2.start();t3.start();t4.start();}
}class TicketThread implements Runnable{//票数private int tickets = 50;//锁对象Object obj = new Object();@Overridepublic void run() {while (true){//同步synchronized (obj) {if (tickets > 0) {System.out.println(Thread.currentThread().getName() + "卖出第:" + tickets-- + " 张票");}else{break;}}try {Thread.sleep(500);} catch (InterruptedException e) {e.printStackTrace();}}System.out.println(Thread.currentThread().getName()+"卖完了");}
}

多线程同步 通过实现Runnable的示例相关推荐

  1. java 多线程同步 通过实现Runnable的示例

    public class SaleTicketThread{public static void main(String[] args) {//创建共享资源对象TicketThread tt = ne ...

  2. python线程同步锁_Python实现的多线程同步与互斥锁功能示例

    本文实例讲述了Python实现的多线程同步与互斥锁功能.分享给大家供大家参考,具体如下: #! /usr/bin/env python #coding=utf-8 import threading i ...

  3. python同步锁和互斥锁的区别_Python实现的多线程同步与互斥锁功能示例

    本文实例讲述了Python实现的多线程同步与互斥锁功能.分享给大家供大家参考,具体如下: #! /usr/bin/env python #coding=utf-8 import threading i ...

  4. java同步通信方式_java多线程同步与通信示例(synchronized方式)

    java多线程同步示例,来自<疯狂java讲义>.通过synchronized,wait(),notify(),notifyAll()实现多线程同步与通信.假设现在系统中有两个线程,这两个 ...

  5. Java回顾之多线程同步

    在这篇文章里,我们关注线程同步的话题.这是比多线程更复杂,稍不留意,我们就会"掉到坑里",而且和单线程程序不同,多线程的错误是否每次都出现,也是不固定的,这给调试也带来了很大的挑战 ...

  6. 多线程——多线程同步的三种实现方法

    当使用多线程访问同一个资源的时候,非常容易出现线程安全的问题(例如,当多个线程同时对一个数据进行修改的时候,会导致某些线程对数据的修改丢失). 因此,需要采用同步机制来解决这种问题.而Java主要提供 ...

  7. java多线程同步5种方法

    一.引言 前几天面试,被大师虐残了,好多基础知识必须得重新拿起来啊.闲话不多说,进入正题. 二.为什么要线程同步 因为当我们有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会 ...

  8. 浅谈Java 多线程同步

    最近在研究多线程同步的一些问题,整理了网上很多文档,在这里给大家分享下 Java并发机制的底层实现原理 Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终 ...

  9. 34 多线程同步之Event

    事件用于线程之间的通信.一个线程发出一个信号,其他一个或多个线程等待,调用Event对象的wait方法,线程则会阻塞等待,直到别的线程set之后才会被唤醒. [示例 1]使用Event实现多线程同步 ...

最新文章

  1. python多线程读取文件的问题_Python多线程同步---文件读写控制方法
  2. shell中字符串截取的几种方法
  3. 用matlab提取lbp特征,求教大神给解释一下LBP特征提取每部分程序是干什么的
  4. Django中cookie和session的存、取、删除
  5. java虚拟机监控_Java虚拟机监控工具
  6. mysql递归查询之后的排序问题_MySQL递归排序查询+树节点生成
  7. AT4378-[AGC027D]ModuloMatrix【构造】
  8. 的引用_左值、右值、左值引用、右值引用
  9. Java基础学习总结(39)——Log4j 1使用教程
  10. Sentinel总结(个人笔记)
  11. R连接Cassandra数据库的方法总结
  12. Qt_编辑器配色方案
  13. 除了迅雷外,还有什么靠谱的BT下载软件?
  14. 花生壳配置内网穿透,ssh远程登录
  15. Appium系列教程
  16. Ubuntu由于没有公钥,无法验证下列签名。
  17. SDJZ2537LOL如何拯救小学生
  18. 解决word2019中求和符号上下标被强制挪到右边的问题
  19. MSF-17010(永恒之蓝)复现
  20. 青蛙的约会(POJ 1061 扩展欧几里德算法)

热门文章

  1. 13个您应该安装的WordPress插件
  2. codeigniter:去掉 URL 中的 index.php
  3. python——适用于py3的pillow图像处理模块plist组图分割
  4. AIDE --Linux高级入侵检测
  5. 部署DNS split分离解析服务
  6. Anaconda安装(ubuntu 14.04.03 LTS 64bit)
  7. 【今日CV 计算机视觉论文速览 第137期】Fri, 28 Jun 2019
  8. 生成icon图标 1005 html 左上角icon图标
  9. 9206-初识html
  10. 04 理解SQL与T-SQL的概念测试分析 1214