死锁

文章目录


死锁

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锁
相关推荐
云烟成雨TD8 小时前
Spring AI Alibaba 1.x 系列【6】ReactAgent 同步执行 & 流式执行
java·人工智能·spring
Wenweno0o8 小时前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
于慨8 小时前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
swg3213218 小时前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
gelald8 小时前
SpringBoot - 自动配置原理
java·spring boot·后端
殷紫川8 小时前
深入理解 AQS:从架构到实现,解锁 Java 并发编程的核心密钥
java
一轮弯弯的明月8 小时前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
chenjingming6668 小时前
jmeter线程组设置以及串行和并行设置
java·开发语言·jmeter
殷紫川8 小时前
深入拆解 Java volatile:从内存屏障到无锁编程的实战指南
java
eddieHoo8 小时前
查看 Tomcat 的堆内存参数
java·tomcat