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

西安在线网站陕西西安网站建设公司

西安在线网站,陕西西安网站建设公司,网站推广报价,华强北网上商城文章目录 死锁(任务互相等待)问题描述错误实现正确实现 死锁(任务互相等待) 问题描述 任务向同一线程池提交子任务并等待其完成,导致线程池资源耗尽,形成死锁。 错误实现 线程池饱和:父任务…

文章目录

  • 死锁(任务互相等待)
    • 问题描述
    • 错误实现
    • 正确实现

死锁(任务互相等待)

问题描述

任务向同一线程池提交子任务并等待其完成,导致线程池资源耗尽,形成死锁。

错误实现

  • 线程池饱和:父任务占用唯一线程,子任务进入队列等待。
  • 互相等待:父任务等待子任务完成,子任务因队列满无法执行。
public class DeadlockDemo {public static void main(String[] args) {ThreadPoolExecutor executor = new ThreadPoolExecutor(1, 1, 0, TimeUnit.SECONDS,new LinkedBlockingQueue<>());// 提交父任务executor.execute(() -> {System.out.println("父任务开始");Future<?> future = executor.submit(() -> {System.out.println("子任务开始");return "子任务结果";});try {future.get(); // 等待子任务完成(但线程池已满,子任务无法执行)} catch (Exception e) {e.printStackTrace();}System.out.println("父任务结束");});}
}

运行结果

父任务开始
(程序挂起,无后续输出)

正确实现

  • 解耦任务依赖:避免同一线程池内任务相互等待。
  • 使用独立线程池:父子任务由不同线程池处理。
public class DeadlockFixedDemo {public static void main(String[] args) {ThreadPoolExecutor parentExecutor =new ThreadPoolExecutor(1, 1, 0, TimeUnit.SECONDS, new LinkedBlockingQueue<>());ThreadPoolExecutor childExecutor =new ThreadPoolExecutor(2, 2, 0, TimeUnit.SECONDS, new LinkedBlockingQueue<>());// 提交父任务并获取FutureFuture<?> parentFuture = parentExecutor.submit(() -> {System.out.println("父任务开始");Future<?> childFuture = childExecutor.submit(() -> {System.out.println("子任务开始");return "子任务结果";});try {childFuture.get(); // 等待子任务完成} catch (Exception e) {e.printStackTrace();}System.out.println("父任务结束");});try {// 等待父任务完成parentFuture.get();} catch (InterruptedException | ExecutionException e) {e.printStackTrace();} finally {// 父任务完成后关闭线程池parentExecutor.shutdown();childExecutor.shutdown();}}
}

运行结果

父任务开始
子任务开始
父任务结束
http://www.dtcms.com/a/542910.html

相关文章:

  • 甘肃锦华建设集团网站wap门户网站源码
  • 黄金做空网站免费com域名注册网站
  • 网站ip地址 转向域名人才网站怎么做
  • Spring数据库连接控制全解析
  • 电子商务网站建设编码专门做当归的网站
  • 中国的门户网站有哪些百度申请qq号免费注册
  • 网站建设报价费用是多少dedecms手机网站模板安装教程
  • 英国T4学生签证 可以做网站吗苏州seo网站诊断
  • 什么是网页设计与网站建设公司快速建站
  • 个人网站设计介绍文字公司网站建设都需要什么内容
  • 网站建设公众号小程序属于什么自己做网站收费么
  • 东莞网站建设方案服务ppt模板免费下载百度云
  • 株洲公司做网站网站维护费计入什么科目
  • 智能云建站平台上海平台网站建设哪家好
  • 网站系统找不到指定的文件网站网页设计项目计划书
  • it网站建设方案移动宽带续费网上可以续费嘛
  • 做医院网站合作网站开发
  • 网站建设 小知识超低价的锦州网站建设
  • 网站建设怎么销售如何破解wordpress数据库
  • 怎样开发手机网站建设公司网站怎么写
  • 深圳科源建设集团有限公司网站泰安网站建设排行
  • 制作企业网站需要注意的事项网上商城网站建设报价
  • 电视盒子做网站服务器郑州网站建设最便宜
  • wordpress默认站点正能量软件网站免费入口
  • 基于python二手车价值评估系统的设计与实现
  • mstsc做网站平台推广广告宣传词
  • 做会计题目的网站高密做网站的代理
  • 网站图片自动下载建设网站的群
  • 安徽网站优化多少钱网站咨询弹窗是怎么做的
  • 高端网站改版顾问网页视频下载快捷指令库