全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java 线程死锁的问题解决办法

 Java 线程死锁的问题解决办法

【线程死锁】 

原因:两个线程相互等待被对方锁定的资源

代码模拟:

public class DeadLock {
  public static void main(String[] args) {
    Object obj = new Object();
    Object obj1 = new Object();
    DeadLockThread1 D1 = new DeadLockThread1(obj, obj1);
    DeadLockThread2 D2 = new DeadLockThread2(obj, obj1);
    new Thread(D1,"线程1").start();
    new Thread(D2,"线程2").start();
  }
}

class DeadLockThread1 implements Runnable {
  private Object obj;
  private Object obj1;

  public DeadLockThread1(Object obj, Object obj1) {
    this.obj = obj;
    this.obj1 = obj1;
  }

  @Override
  public void run() {
    synchronized (obj) {   //DeadLockThread1锁定obj对象
      try {
        Thread.sleep(1000);
        synchronized (obj1) { //等待锁定obj1对象,obj对象已被DeadLockThread2锁定
          obj1.getClass();
        }
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
  }
}

class DeadLockThread2 implements Runnable {
  private Object obj;
  private Object obj1;

  public DeadLockThread2(Object obj, Object obj1) {
    this.obj = obj;
    this.obj1 = obj1;
  }

  @Override
  public void run() {
    synchronized (obj1) {   //DeadLockThread2锁定obj2对象
      try {
        Thread.sleep(1000);
        synchronized (obj) { //等待锁定obj对象,obj对象已被DeadLockThread1锁定
          obj.getClass();
        }
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
  }
}

查看方式:

1、【cmd】下输入【jconsole】

2、选择测试线程并点击右下角【连接】,左上角选择【线程】,左下角选择【检测死锁】

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望通过本文能帮助到大家,谢谢大家对本站的支持!


# Java  # 线程死锁  # 线程死锁的实例详解  # java实现死锁的示例代码  # Java 解决死锁的方法实例详解  # Java多线程产生死锁的必要条件  # java 多线程死锁详解及简单实例  # java中常见的死锁以及解决方法代码  # Java线程死锁实例及解决方法  # Java中死锁产生的原因有哪些?  # java避免死锁的常见方法代码解析  # java线程死锁代码示例  # Java中死锁问题及解决方法  # 死锁  # 已被  # 如有  # 谢谢大家  # 解决办法  # 疑问请  # void  # main  # DeadLock  # static  # Object  # obj  # String  # args  # br  # strong  # nbsp  # pre 


相关文章: 成都网站制作公司哪家好,四川省职工服务网是做什么用?  制作公司内部网站有哪些,内网如何建网站?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  建站主机功能解析:服务器选择与快速搭建指南  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  如何用PHP工具快速搭建高效网站?  如何正确下载安装西数主机建站助手?  广德云建站网站建设方案与建站流程优化指南  小建面朝正北,A点实际方位是否存在偏差?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  再谈Python中的字符串与字符编码(推荐)  建站之星在线版空间:自助建站+智能模板一键生成方案  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  如何通过老薛主机一键快速建站?  如何用景安虚拟主机手机版绑定域名建站?  如何通过山东自助建站平台快速注册域名?  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  ,想在网上投简历,哪几个网站比较好?  在线制作视频网站免费,都有哪些好的动漫网站?  如何高效配置香港服务器实现快速建站?  如何快速使用云服务器搭建个人网站?  Python文件管理规范_工程实践说明【指导】  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  如何在阿里云域名上完成建站全流程?  如何用PHP快速搭建高效网站?分步指南  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  怀化网站制作公司,怀化新生儿上户网上办理流程?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  已有域名和空间如何快速搭建网站?  如何在宝塔面板中修改默认建站目录?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  油猴 教程,油猴搜脚本为什么会网页无法显示?  宝塔建站后网页无法访问如何解决?  MySQL查询结果复制到新表的方法(更新、插入)  潮流网站制作头像软件下载,适合母子的网名有哪些?  建站中国官网:模板定制+SEO优化+建站流程一站式指南  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  江苏网站制作公司有哪些,江苏书法考级官方网站?  定制建站如何定义?其核心优势是什么?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  建站之星多图banner生成与模板自定义指南  如何在局域网内绑定自建网站域名?  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  如何通过主机屋免费建站教程十分钟搭建网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。