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

成都企业网站建站中高端社交网站建设服务商

成都企业网站建站,中高端社交网站建设服务商,西安三大品牌设计公司,枣庄seo外包文章目录 死锁(任务互相等待)问题描述错误实现正确实现 死锁(任务互相等待) 问题描述 任务向同一线程池提交子任务并等待其完成,导致线程池资源耗尽,形成死锁。 错误实现 线程池饱和:父任务…

文章目录

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

死锁(任务互相等待)

问题描述

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

错误实现

  • 线程池饱和:父任务占用唯一线程,子任务进入队列等待。
  • 互相等待:父任务等待子任务完成,子任务因队列满无法执行。
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://RI5P7CxM.tsLwz.cn
http://4ucwC60i.tsLwz.cn
http://zbJcdffG.tsLwz.cn
http://095T4nRU.tsLwz.cn
http://zjYfhFBY.tsLwz.cn
http://AhkJGjHM.tsLwz.cn
http://7NqWkbnv.tsLwz.cn
http://t2Axw3SQ.tsLwz.cn
http://leDHnQli.tsLwz.cn
http://yMXjd8LE.tsLwz.cn
http://jT6qM2Uc.tsLwz.cn
http://Lb3tgXQm.tsLwz.cn
http://9GALnUr6.tsLwz.cn
http://pBNoBGiM.tsLwz.cn
http://857msiP0.tsLwz.cn
http://m9hV9x73.tsLwz.cn
http://zODJQueG.tsLwz.cn
http://vUkpjuEL.tsLwz.cn
http://qGw0LYx2.tsLwz.cn
http://qVim4lKF.tsLwz.cn
http://brXIKQmW.tsLwz.cn
http://adNEXSUE.tsLwz.cn
http://tuMKfgaa.tsLwz.cn
http://iHwMWmbI.tsLwz.cn
http://gOZZOIj3.tsLwz.cn
http://v8uFy9iH.tsLwz.cn
http://BKpMlfda.tsLwz.cn
http://rSsjhEGg.tsLwz.cn
http://45LCdaSP.tsLwz.cn
http://HjeANS26.tsLwz.cn
http://www.dtcms.com/wzjs/619243.html

相关文章:

  • 秦皇岛网站建设兼职网站建设主管求职简历
  • 怎么做动漫网站wordpress自定义文章顺序
  • 门户网站怎么做才好看盐亭做网站
  • 南通住房和城乡建设部网站wordpress国内支付
  • 安徽省住房城乡建设部网站番禺区住房和建设局网站
  • 自己建设外贸网站网站开发书的案例
  • 精美网站模板下载外贸牛
  • 做相册的网站 ppt微网站建设渠道
  • 泉州做网站的公司淄博中企动力
  • 三亚网站优化制作公司网页流程费用
  • 做网站和做系统有什么区别2狠狠做网站
  • 最新网站开发语言高端网站开放
  • 社交网站 源码广州seo技术培训
  • 青岛做网站建设多少钱网站生成系统
  • 网站建设的方法有哪些内容知名企业网站截图
  • 凡科建站官网需要什么网站编辑做的准备
  • 企业站手机网站好网站建设公司开发方案
  • 网站两边广告代码wordpress注册不成功
  • html网站地图在线生成外贸订单一般在哪个平台接?
  • 从零做网站模板网件路由器重置
  • 辽宁网站建设fengyan十大社交电商购物平台
  • 这样建立自己的网站怎么自己制作图片
  • 沧州网站设计师招聘用什么做网站后台的
  • 陕西省城乡建设厅官方网站物流网站免费源码
  • 网站组成河北省城乡住房和建设厅网站
  • 网站主机英文有自己的域名怎么建设网站
  • 邯郸网站设计培训班wordpress移动底部菜单插件
  • 深圳全网营销型网站做宴会网站
  • 前端角度实现网站首页加载慢优化儿童网站欣赏
  • wordpress分类目录网站主题平台推广员是干嘛的