死锁

文章目录


死锁

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锁
相关推荐
开发者小天3 分钟前
python返回随机数
开发语言·python
木井巳3 分钟前
【递归算法】计算布尔二叉树的值
java·算法·leetcode·深度优先
3 分钟前
java关于时间类
java·开发语言
老蒋每日coding5 分钟前
FISCO BCOS 部署Solidity投票智能合约并基于Java SDK 调用智能合约详细指南
java·区块链·智能合约
lly20240613 分钟前
C 标准库 - <stdlib.h>
开发语言
少控科技13 分钟前
QT新手日记035
开发语言·qt
青川学长14 分钟前
Cursor + Qt Creator 混合开发指南
开发语言·qt
java1234_小锋16 分钟前
Spring里AutoWired与Resource区别?
java·后端·spring
风象南20 分钟前
Spring Boot 定时任务多实例互斥执行
java·spring boot·后端
崎岖Qiu21 分钟前
【深度剖析】:结合 Spring Bean 的生命周期理解 @PostConstruct 的原理
java·笔记·后端·spring·javaee