当前位置: 首页 > news >正文

java死锁

文章目录

死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的⼀种“相互等待的现象”,若无外力干涉,那它们将都无法推进下去,如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。
jps指令: jps -l 可以查看运⾏的Java进程 。
jstack指令: jstack pid 可以查看某个Java进程的堆栈信息,同时分析出死锁。

package com.xd;


import java.util.concurrent.TimeUnit;

class MyData implements Runnable{
    private String lockA;
    private String lockB;

    public MyData(String lockA, String lockB) {
        this.lockA = lockA;
        this.lockB = lockB;
    }

    @Override
    public void run() {
        synchronized (lockA){
            System.out.println(Thread.currentThread().getName()+"\t自己持有"+lockA + "\t尝试获取:" + lockB);
            try {
                TimeUnit.SECONDS.sleep(2);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            synchronized (lockB){
                System.out.println(Thread.currentThread().getName()+"\t自己持有"+lockA + "====" + lockB);
            }

        }
    }
}

public class HoldLockThread {
    public static void main(String[] args) {
        String lockA = "lockA";
        String lockB = "lockB";

        new Thread(new MyData(lockA,lockB),"ThreadA").start();
        new Thread(new MyData(lockB,lockA),"ThreadB").start();


    }
}

http://www.dtcms.com/a/21252.html

相关文章:

  • 轮子项目--消息队列的实现(4)
  • openharmony系统移植之显示驱动框架从framebuffer升级为drm(linux-5.10)
  • 【Java】—— 包装类泛型
  • 【go语言规范】关于接口设计
  • 财务系统的开发需要注意哪些东西
  • Java-数据结构基础1
  • 【办公类-90-02】】20250215大班周计划四类活动的写法(分散运动、户外游戏、个别化综合)
  • LeeCode题库第十九题
  • 「软件设计模式」适配器模式(Adapter)
  • 使用 Ansys Fluent 进行电池热滥用失控传播仿真
  • 算法思考:位运算
  • CNN手写数字识别1——模型搭建与数据准备
  • 【C语言】移除元素
  • 代码随想录算法【Day47】
  • 解决`Illegal group reference: group index is missing`的两种方式
  • 【linux学习指南】⽣产者消费者模型
  • python电影数据分析及可视化系统建设
  • 深度学习在天文观测中的应用:解锁宇宙的奥秘
  • `fi` 是 Bash 脚本中用来结束 `if` 条件语句块的关键字
  • 数位dp入门详解
  • [Vivado报错] [Common 17-55]‘set_property‘ expects at least one object
  • 【数据库维护】Clickhouse数据库维护关键系统表相关指标说明,支撑定位慢SQL及多实例场景下分析各实例运行情况
  • 【Java基础-46.1】Java 中创建自定义泛型类及其应用
  • 【机器学习】常见采样方法详解
  • AtCoder - arc101_b Median of Medians 分析与解答
  • 2009年下半年软件设计师上午真题的知识点整理(附真题及答案解析)
  • Kubernetes-master 组件
  • 25/2/16 <算法笔记> MiDas原理
  • ElasticSearch详解
  • 【开源免费】基于Vue和SpringBoot的美食烹饪互动平台(附论文)