死锁

文章目录


死锁

java 复制代码
public class MyThread extends Thread {

    //创建锁对象
    static Object objA = new Object();
    static Object objB = new Object();


    @Override
    public void run() {
        while (true) {
            if (getName().equals("线程1")) {
                synchronized (objA) {
                    System.out.println("线程1获得A锁,准备B锁");
                    synchronized (objB) {
                        System.out.println("线程1获得A锁与B锁");
                    }
                }
            } else if (getName().equals("线程2")) {
                synchronized (objB) {
                    System.out.println("线程2获得B锁,准备A锁");
                    synchronized (objA) {
                        System.out.println("线程2获得B锁与A锁");
                    }
                }
            }
        }
    }
}
---------------------------
线程1获得A锁,准备B锁
线程2获得B锁,准备A锁
相关推荐
雪域迷影4 分钟前
C++ 11 中的move赋值运算符
开发语言·c++·move
华仔啊12 分钟前
MyBatis-Plus 不只是简化CRUD!资深架构师总结的15个高阶用法
java·后端·mybatis
jf加菲猫12 分钟前
第2章 Hello World
开发语言·c++·qt·ui
Han.miracle38 分钟前
Java EE --JUC
java·线程池·原子类·callable·semaphore·reentrantlcok
那我掉的头发算什么40 分钟前
【javaEE】多线程——线程安全初阶☆☆☆
java·jvm·安全·java-ee·intellij-idea
todoitbo1 小时前
Rust新手第一课:Mac环境搭建踩坑记录
开发语言·macos·rust
yzp-1 小时前
Zookeeper 笔记
java·分布式·zookeeper
蜡笔大新7981 小时前
IDEA中的异常
java·ide·intellij-idea
laplace01231 小时前
PyQt5 + Qt Designer配置指令
开发语言·qt