3、使用锁机制lock,unlock

package com.lfy.ThreadsSynchronize;import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;/*** 1、使用锁机制* 语法:lock(),unlock()
*/
public class TicketSellSolution3 extends Thread{private static int num = 50;//创建一个锁对象Lock l = new ReentrantLock();public TicketSellSolution3(String string) {super(string);}@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 (InterruptedException e) {e.printStackTrace();}finally{l.unlock();}}}
}

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

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

  1. 编程开发之--java多线程学习总结(5)

    4.对继承自Runnable的线程进行锁机制的使用 package com.lfy.ThreadsSynchronize;import java.util.concurrent.locks.Lock; ...

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

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

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

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

  4. 【转】Java 多线程学习

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. pip 升级_python的pip命令
  2. mysql 事物隔离级别详解
  3. 服务器远程显示用户忙,服务器远程显示用户忙
  4. 搭建高可用的redis集群,避免standalone模式带给你的苦难
  5. php 数组 json字段去不全,json_encode – PHP给出了不完整的json字符串
  6. 作者:陈纯(1955-),男,博士,浙江大学计算机科学与技术学院教授,中国工程院院士。...
  7. 【超全教程】SpringBoot 2.3.x 分层构建 Docker 镜像实践
  8. 哨兵系列卫星介绍——总结与对比
  9. 数学建模题目和模型汇总(2000-2019 国赛本科组)
  10. 整理好的多款教程也素材与大家分享
  11. 2021年最佳Selenium替代品
  12. 视频配音怎么制作?手把手教你配音视频制作
  13. JeeSite4 一些前端资料 - 来自作者ThinkGem
  14. 3des java ecb_C# And Java 3DES加解密 ECB模式/PKCS7
  15. 高德数据下载器 POI,道路(含路况信息),切片数据
  16. 百度员工抱怨:1月离职,没有年终奖。。。
  17. 数据库----MySQL
  18. 手机群控相关软件和开源框架
  19. 计算机专业的学生简历范文,计算机专业学生的简历范文精选
  20. 论文解读:Spelling Error Correction with Soft-Masked BERT

热门文章

  1. 汇编实验 三 编程、编译、连接、跟踪
  2. json文件_ajax
  3. linux 查看分区
  4. AC日记——幸运号码 51nod 1043
  5. web 前端小记_1 :hasLayout
  6. C++中利用输入输入流进行一行输入
  7. ABAP中的枚举对象
  8. iOS 开发 入门:使用Ad Hoc 进行用户测试
  9. 用 HTML5 和 Javascript 仿制一个水果忍者网页版! (直接浏览器在线玩+源代码下载)...
  10. 自写的简单屏蔽特定字符的TextBox和数字TextBox