死锁

文章目录


死锁

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锁
相关推荐
2401_857439694 分钟前
SpringBoot框架在资产管理中的应用
java·spring boot·后端
怀旧6665 分钟前
spring boot 项目配置https服务
java·spring boot·后端·学习·个人开发·1024程序员节
测试界的酸菜鱼5 分钟前
C# NUnit 框架:高效使用指南
开发语言·c#·log4j
GDAL5 分钟前
lua入门教程 :模块和包
开发语言·junit·lua
李老头探索7 分钟前
Java面试之Java中实现多线程有几种方法
java·开发语言·面试
CSXB998 分钟前
三十四、Python基础语法(文件操作-上)
开发语言·python·功能测试·测试工具
芒果披萨12 分钟前
Filter和Listener
java·filter
qq_49244844617 分钟前
Java实现App自动化(Appium Demo)
java
阿华的代码王国25 分钟前
【SpringMVC】——Cookie和Session机制
java·后端·spring·cookie·session·会话
web Rookie28 分钟前
JS类型检测大全:从零基础到高级应用
开发语言·前端·javascript