死锁

文章目录


死锁

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锁
相关推荐
钓鱼的肝几秒前
GESP系列(3级)小杨的储蓄
开发语言·数据结构·c++·笔记·算法·gesp
float_六七10 分钟前
行级与块级元素:核心区别与应用场景
开发语言·前端·javascript
ZePingPingZe10 分钟前
不使用Spring事务的管理—原生JDBC实现事务管理
java·数据库·spring
唐装鼠13 分钟前
Rust Cow(deepseek)
开发语言·后端·rust
吃喝不愁霸王餐APP开发者28 分钟前
外卖API对接过程中时间戳与时区处理的最佳实践(避免核销失效)
java
抹除不掉的轻狂丶35 分钟前
Java 日志框架完整指南:发展历史、核心组成与最佳实践
java·开发语言·python
lsx20240643 分钟前
Bootstrap5 按钮组
开发语言
林涧泣1 小时前
使用Java输出HelloWorld
java·开发语言
lsx2024061 小时前
Perl 基础语法
开发语言
叫致寒吧1 小时前
Dockerfile
java·spring cloud·eureka