博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模拟死锁
阅读量:5162 次
发布时间:2019-06-13

本文共 1195 字,大约阅读时间需要 3 分钟。

package com.roocon.thread.t6;public class Demo3 {    private Object obj1 = new Object();    private Object obj2 = new Object();    public void a(){        synchronized (obj1){            try {                Thread.sleep(3000);            } catch (InterruptedException e) {                e.printStackTrace();            }            synchronized (obj2){                System.out.println("a");            }        }    }    public void b(){        synchronized (obj2){            try {                Thread.sleep(3000);            } catch (InterruptedException e) {                e.printStackTrace();            }            synchronized (obj1){                System.out.println("b");            }        }    }    public static void main(String[] args) {        Demo3 demo3 = new Demo3();        new Thread(new Runnable() {            @Override            public void run() {                demo3.a();            }        }).start();        new Thread(new Runnable() {            @Override            public void run() {                demo3.b();            }        }).start();    }}

运行结果:

控制台一直在运行,但是无任何输出。

 

通过命令检测是否真的发生了死锁:

点击线程,检测死锁:

转载于:https://www.cnblogs.com/sunnyDream/p/8135324.html

你可能感兴趣的文章
反射机制
查看>>
CocoaPod
查看>>
BZOJ 1251: 序列终结者 [splay]
查看>>
5G边缘网络虚拟化的利器:vCPE和SD-WAN
查看>>
MATLAB基础入门笔记
查看>>
【UVA】434-Matty's Blocks
查看>>
Android开发技术周报 Issue#80
查看>>
hadoop2.2.0+hive-0.10.0完全分布式安装方法
查看>>
django知识点总结
查看>>
C++ STL stack、queue和vector的使用
查看>>
使用Reporting Services时遇到的小问题
查看>>
约瑟夫问题
查看>>
Arduino 报错总结
查看>>
树莓派Android Things物联网开发:树莓派GPIO引脚图
查看>>
矩阵快速幂---BestCoder Round#8 1002
查看>>
如何将应用完美迁移至Android P版本
查看>>
【转】清空mysql一个库中的所有表的数据
查看>>
基于wxPython的python代码统计工具
查看>>
淘宝JAVA中间件Diamond详解(一)---简介&快速使用
查看>>
Hadoop HBase概念学习系列之HBase里的宽表设计概念(表设计)(二十七)
查看>>