死锁

文章目录


死锁

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锁
相关推荐
南 阳13 分钟前
Python从入门到精通day66
开发语言·python
好家伙VCC1 小时前
【无标题】
java
十八旬1 小时前
快速安装ClaudeCode完整指南
开发语言·windows·python·claude
前进的李工1 小时前
EXPLAIN输出格式全解析:JSON、TREE与可视化
开发语言·数据库·mysql·性能优化·explain
小碗羊肉2 小时前
【JavaWeb | 第十一篇】文件上传(本地&阿里云OSS)
java·阿里云·servlet
吾疾唯君医2 小时前
Java SpringBoot集成积木报表实操记录
java·spring boot·spring·导出excel·积木报表·数据文件下载
Byron Loong2 小时前
【c++】为什么有了dll和.h,还需要包含lib
java·开发语言·c++
独隅2 小时前
CodeX + Visual Studio Code 联动的全面指南
开发语言·php
坚果派·白晓明2 小时前
【鸿蒙PC三方库移植适配框架解读系列】第一篇:Lycium C/C++ 三方库适配 — 概述与环境配置
c语言·开发语言·c++·harmonyos·开源鸿蒙·三方库·c/c++三方库
hexu_blog3 小时前
vue+java实现图片批量压缩
java·前端·vue.js