美文网首页
java 实现一个死锁

java 实现一个死锁

作者: 好奇害死猫o | 来源:发表于2018-12-12 17:47 被阅读0次
public class DeadLockDemo {

    private static final String A = "A";

    private static final String B = "B";


    public static void main(String[] args) {
        Thread t1 = new Thread(()->{
            synchronized (A){
                System.out.println("A is lock");
                try {
                    Thread.currentThread().sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                synchronized (B){
                    System.out.println("1");
                }
            }
        },"t1");

        Thread t2 = new Thread(() -> {
           synchronized (B){
               System.out.println("B is lock");
               synchronized (A){
                   System.out.println("2");
               }
           }
        });
        t1.start();
        t2.start();
    }


}


运行结果

A is lock
B is lock

相关文章

  • java死锁介绍、源码实现及预防(含源码)

    java死锁介绍、源码实现及预防(含源码) 什么是死锁 死锁是 多个线程 之间 相互之间 持有 对方需要的资源,同...

  • java 实现一个死锁

    运行结果 A is lockB is lock

  • 多线程练习--死锁

    关于java的死锁可能网上一大堆的代码,作为初学者我觉得还是很有必要练习下,亲自实现,并分析其死锁的原理。 死锁的...

  • Java死锁检测之ThreadMXBean

    看此文章前请先了解之前一篇文章 "Java死锁之理解死锁" 中的死锁示例java 中提供了可以检测死锁的工具类Th...

  • Java死锁检测方式JConsole

    Java死锁检测方式之JConsole 我们在开发中应该尽量避免死锁,但是如果真的有死锁产生那么我们怎么在一个复杂...

  • 写一个 java 死锁玩玩

    java 死锁很容易遇到,睡不着 写一个 死锁上代码 简单明了的 死锁 。嘿嘿嘿! ok 我们看一下hotspo...

  • Java锁(悲观、乐观锁、CAS原子操作)

    Java死锁发生的必要条件 Java死锁产生的四个必要条件: 互斥使用,即当一个线程占用了资源,其他线程不能使用。...

  • Java Concurrent 死锁

    前言 死锁是一个比较大的概念,在并发场景下的加锁行为都有可能产生死锁问题。在Java 并发编程中会有死锁,操作系统...

  • Java多线程-死锁的出现和解决

    Java多线程-死锁什么是死锁? 死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释...

  • Java concurrency《防止死锁》

    Java concurrency《防止死锁》 常见预防死锁的办法 有顺序的锁 具有超时时间的锁 死锁的检测 有顺序...

网友评论

      本文标题:java 实现一个死锁

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