import java.util.concurrent.locks.ReentrantLock;/*** 死锁演示.<br>* @author gongqiang <br>* @version 1.0.0 2021年6月4日<br>* @see * @since JDK 1.5.0*/
public class DeadLockDemo {/*** @param args*/public static void main(String[] args) {ReentrantLock lockA = new ReentrantLock();ReentrantLock lockB = new ReentrantLock();new Thread(() -> {while (true) {try {lockA.lock();System.out.println(Thread.currentThread().getName() + "成功获取锁A,等待3秒获取锁B...");Thread.sleep(3 * 1000);lockB.lock();} catch (InterruptedException e) {Thread.currentThread().interrupt();}}}).start();new Thread(() -> {while (true) {try {lockB.lock();System.out.println(Thread.currentThread().getName() + "成功获取锁B,等待3秒获取锁A...");Thread.sleep(3 * 1000);lockA.lock();} catch (InterruptedException e) {Thread.currentThread().interrupt();}}}).start();try {Thread.sleep(60 * 60 * 1000);} catch (InterruptedException e) {// 无需处理.}}}

死锁Waiting--DeadLockDemo相关推荐

  1. Java基础 - 坦克大战(第四章,线程基础)

    文章目录 线程终止 基本说明 案例 线程常用方法1 细节 线程常用方法2 礼让(yield) 插队(join) 案例 线程常用方法3 用户线程和守护线程 用户线程 守护线程 常见的守护线程(垃圾回收机 ...

  2. 13.7.深入理解jstack日志

    13.7.深入理解jstack日志 转自:https://blog.csdn.net/iteye_5603/article/details/82652200 在分析线上问题时常使用到jstack 命令 ...

  3. 转 android anr 分析示例,[摘]Android ANR日志分析指南之实例解析

    前文<[摘]Android ANR日志分析指南>也摘抄了如何分析,接下来通过实例解析. 一.主线程被其他线程lock,导致死锁 waiting on <0x1cd570> (a ...

  4. java 堆栈信息_每天学习一个命令:jstack 打印 Java 进程堆栈信息

    Jstack 用于打印出给定的 java 进程 ID 或 core file 或远程调试服务的 Java 堆栈信息. 这里需要注意的是 Java 8 引入了 Java Mission Control, ...

  5. jstack 脚本 自动日志_深入理解jstack日志

    Tags : jstack日志发表时间: 2019-03-17 23:53:19 在分析线上问题时常使用到jstack 命令将当时Java应用程序的线程堆栈dump出来. 面对jstack 日志,我们 ...

  6. Thread dump文件抓取和分析(JCA工具)

    Thread dump文件抓取和分析 接下来分析CentOS下怎么抓取Thread dump文件,JCA怎么分析Thread dump文件. 1.CentOS下抓取Thread dump文件 Cent ...

  7. JVM常见命令之jstack

    一.介绍:jstack用于生成虚拟机指定进程当前时刻的线程快照,虚拟机堆栈追踪,线程快照就是当前虚拟机内指定进程的每一条线程正在执行方法堆栈的集合 二.作用:可用于定位线程长时间停顿的原因,如线程死锁 ...

  8. java通过jstack命令查询日志深入理解

    在分析线上问题时常使用到jstack <PID>命令将当时Java应用程序的线程堆栈dump出来. 面对jstack 日志,我们如何查看? 1 首先要清楚线程的状态 线程的状态有: new ...

  9. jmap和jstack使用

    先jps -ml 再sudo -u hive /usr/java/latest/bin/jstack 19661(此为进程号) > /tmp/jstack.txt 首先回顾下相关概念: Java ...

  10. Java基础笔记(4w字长文警告)

    Java核心笔记 提示:点击右上角关注博主,收获共同话题 下面是我的个人学习Java的笔记,现在分享给广大友友: 文章目录 Java核心笔记 0.导论 标柱注释: 学习方法: 1 java概述 1.1 ...

最新文章

  1. 9-spark学习笔记-sparkstreaming
  2. QT QTreeWidget 行切换时改变背景色
  3. linux 启动 x,(1)linux启动过程
  4. Mariadb使用总结
  5. python菜单栏_Python(Tkinter)创建的菜单不会显示
  6. 网页传上服务器 是乱码,前端传到后台中文乱码问题
  7. URI 、URL 和 URN
  8. 全国实时公交查询API接口
  9. 爬虫之js加密破解抓取网易云音乐评论生成词云
  10. VC6使用GdiPlus绘制png图片
  11. 简析美颜sdk中的人脸识别算法
  12. 一些技能点语法糖(上)
  13. iframe标签中写html,html页面中嵌套iframe标签,我们可以用html中的iframe标签搞定
  14. Win32的时间类型
  15. scoop下载安装教程,无报错,超简单。
  16. php调用大漠,大漠路人 - SegmentFault 思否
  17. 14岁萝莉自学编程独立开发游戏
  18. confluence是什么
  19. Redis启动、停止、查看
  20. 懂点前端——对CSS中的Padding、Border、Margin属性的理解

热门文章

  1. 史上最强多线程面试44题和答案:线程锁+线程池+线程同步等
  2. 东南大学王萌 | “神经+符号”学习与多模态知识发现
  3. 论文浅尝 | 从树结构的长短期记忆网络改进语义表示
  4. 大规模领域词汇库项目DomainWordsDict:涵盖68个领域、共计916万的词汇库资源开放
  5. 【原创】论码农的财富修养
  6. WebSocket教程(一)
  7. node.js JS对象和JSON字符串之间的转换
  8. nodejs中处理回调函数的异常
  9. Ionic发布成android
  10. 稀疏矩阵的压缩存储--十字链表(转载)