美文网首页
2021-04-24 死锁的条件

2021-04-24 死锁的条件

作者: 捕风的逍遥侯 | 来源:发表于2021-04-24 20:45 被阅读0次
死锁的四个条件
package hxy.bytecode.thread;

public class DeadThead {
    public static void main(String[] args) {
        Object a = new Object();
        Object b = new Object();


        new Thread(() -> {
            synchronized (a) {
                System.out.println("I get a");
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

                System.out.println("I want to get b");
                synchronized (b) {
                    System.out.println("I am a and   get b");
                }

            }
        }).start();

        new Thread(() -> {
            synchronized (b) {
                System.out.println("I get b");
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

                System.out.println("I want to get a");
                synchronized (a) {
                    System.out.println("I am b and   get a");
                }

            }
        }).start();

        System.out.println("done");
    }
}

效果如下


image.png

查看java进程

$ jps
image.png

查看死锁分析

$ jstack
image.png

相关文章

  • 2021-04-24 死锁的条件

    效果如下 查看java进程 查看死锁分析

  • 死锁

    死锁四个条件: 死锁例子: 解读上述代码: 1.synchronized 就是满足死锁条件----互斥条件----...

  • java多线程笔记

    产生死锁的四个必要条件 处理死锁的基本方法 死锁预防 死锁避免 死锁检测 死锁解除 https://blog.cs...

  • 解决死锁的4种基本方法(值得收藏)

    解决死锁的4种基本方法(文末有惊喜) 1、预防死锁:通过设置一些限制条件,去破坏产生死锁的必要条件 2、避免死锁:...

  • 线程池系列(5)记一次JDK线程池死锁

    什么?JDK线程池还会死锁? 1. 死锁产生的必要条件 产生死锁的四个必要条件:(1) 互斥条件:一个资源每次只能...

  • 操作系统-死锁

    死锁: 1. :  * 互斥条件  * 等待和占有条件  * 不剥夺条件   * 循环等待条件前三个是产生死锁的必...

  • java并发--java死锁

    本篇结构: 前言 什么是死锁 产生死锁的必要条件 死锁的代码示例 死锁排查 如何避免死锁 总结 一、前言 今天被问...

  • 面试整理2

    请问死锁原因如何打破?如何查看死锁进程状态?回答死锁的四个条件没回答完,但是我觉得不必要背住这四个条件1、死锁是指...

  • 死锁

    死锁 产生死锁的必要条件 产生死锁的必要条件互斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅...

  • Java死锁

    什么是死锁 死锁检测 产生死锁的四个必要条件 如何避免死锁 死锁 死锁,指两个或多个线程之间,由于互相持有对方需要...

网友评论

      本文标题:2021-04-24 死锁的条件

      本文链接:https://www.haomeiwen.com/subject/nwwlrltx.html