4、对继承自Runnable的线程进行锁机制的使用

package com.lfy.ThreadsSynchronize;import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;public class TicketSellSolution4 implements Runnable {private static int num = 50;//创建一个锁对象Lock l = new ReentrantLock();@Overridepublic void run() {for(int i = 0 ; i < 50 ;i ++){//获取锁
            l.lock();try {if(num > 0){Thread.sleep(10);System.out.println(Thread.currentThread().getName()+"卖出一张票,剩余"+(--num)+"张");}} catch (Exception e) {e.printStackTrace();}finally{//释放锁
                l.unlock();}}}}

转载于:https://www.cnblogs.com/ZeroMZ/p/9292414.html

编程开发之--java多线程学习总结(5)相关推荐

  1. 编程开发之--java多线程学习总结(2)同步代码块

    1.第一种解决办法:同步代码块,关键字synchronized package com.lfy.ThreadsSynchronize;/*** 1.使用同步代码块* 语法:synchronized ( ...

  2. 编程开发之--java多线程学习总结(3)类锁

    2.使用方法同步 package com.lfy.ThreadsSynchronize;/*** 1.使用同步方法* 语法:即用 synchronized 关键字修饰方法(注意是在1个对象中用锁还是多 ...

  3. 【转】Java 多线程学习

    原网址:https://www.cnblogs.com/yjd_hycf_space/p/7526608.html Java多线程学习(总结很详细!!!) 此文只能说是java多线程的一个入门,其实J ...

  4. 转:Java多线程学习(总结很详细!!!)

    Java多线程学习(总结很详细!!!) 此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更上一个台阶呢? 本文主要讲java中多线程 ...

  5. Java多线程学习之路(四)---死锁(DeadLock)

    Java多线程学习之路(四)-死锁(DeadLock) 1.定义 死锁就是多个线程在竞争共享资源的时候,相互阻塞,不能脱身的状态(个人理解).其实死锁一定程度上可以看成一个死循环. 举个现实生活中的例 ...

  6. Java多线程学习 (超详细总结)

    Java多线程学习 一.概要 二. JAVA 线程实现/创建方式 2.1 继承Thread 类 2.2 实现 Runnable 接口 2.3 Thread和Runnable的区别 2.4 总结 三.线 ...

  7. java多线程学习-java.util.concurrent详解

    http://janeky.iteye.com/category/124727 java多线程学习-java.util.concurrent详解(一) Latch/Barrier 博客分类: java ...

  8. Java多线程学习(二)synchronized关键字(1)

    转载请备注地址: https://blog.csdn.net/qq_34337272/article/details/79655194 Java多线程学习(二)将分为两篇文章介绍synchronize ...

  9. java线程学习,GitHub - zksir/thread: Java多线程学习

    Java多线程学习 threadcoreknowledge包----线程核心知识基础 createthreads包 创建线程 1.实现多线程的方法是1种还是2种还是4种? Oracle官方:2种,一种 ...

最新文章

  1. android 开发错误点滴积累--Asset资源管理
  2. SAP Fiori Elements 应用 manifest.json 文件里 resources.json 的含义
  3. 如何科学高效的学习Web前端开发?
  4. poj3190 Stall Reservations(贪心+STL)
  5. HDU-3072-IntelligenceSystem(tarjan,贪心)
  6. Mybatis高级映射一对多查询
  7. 诺基亚5800软件测试初学者,诺基亚5800刷机【教程详解】
  8. grub2 中的boot命令
  9. 管家婆普及版安装问题
  10. 改变不需要时间和地点的条件
  11. 2020计算机行业就业职位及分析
  12. 聊聊另外一个Druid(很全)
  13. 清除电脑缓存的bat文件
  14. win10防火墙_怎么关闭防火墙
  15. openCV—converTo()用法
  16. 数字电子钟Multisim仿真(数电课设+实验报告)
  17. 程序员找媳妇的要求是什么呢?
  18. 骁龙778gplus什么水平 骁龙778gplus什么级别 骁龙778gplus相当于什么档次
  19. 线性规划求解——增广拉格朗日函数法
  20. 操作系统--进程调度实验报告

热门文章

  1. Makefile中打印变量
  2. linux虚拟网络设备之bridge(桥)(三)
  3. python写入数据到excel中_Python写入数据到Excel
  4. 9月往后推6个月是几月_成考每年一般几月份颁发毕业证书
  5. Facebook Messenger要点燃聊天机器人革命,据说四月就发布!
  6. linux基础lvm
  7. windows下单机版的伪分布式solrCloud环境搭建Tomcat+solr+zookeeper
  8. MAC能登录微信,浏览器连不上网
  9. 二进制地址的伙伴地址
  10. Quartus16.1布线优化选择,重编译可能会满足时序