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

怎样才能制作网站大型网站开发案例

怎样才能制作网站,大型网站开发案例,购买友情链接,青岛网站定做线程池中线程异常后,销毁还是复用? 线程池在提交任务前,可以提前创建线程吗? 线程池中线程异常后,销毁还是复用? 直接说结论,需要分两种情况: 使用execute()提交任务&#xff1a…

  1. 线程池中线程异常后,销毁还是复用?

  2. 线程池在提交任务前,可以提前创建线程吗?

线程池中线程异常后,销毁还是复用?

直接说结论,需要分两种情况:

  • 使用execute()提交任务:当任务通过execute()提交到线程池并在执行过程中抛出异常时,如果这个异常没有在任务内被捕获,那么该异常会导致当前线程终止,并且异常会被打印到控制台或日志文件中。线程池会检测到这种线程终止,并创建一个新线程来替换它,从而保持配置的线程数不变。

  • 使用submit()提交任务:对于通过submit()提交的任务,如果在任务执行中发生异常,这个异常不会直接打印出来。相反,异常会被封装在由submit()返回的Future对象中。当调用Future.get()方法时,可以捕获到一个ExecutionException。在这种情况下,线程不会因为异常而终止,它会继续存在于线程池中,准备执行后续的任务。

简单来说:使用execute()时,未捕获异常导致线程终止,线程池创建新线程替代;使用submit()时,异常被封装在Future中,线程继续复用。

这种设计允许submit()提供更灵活的错误处理机制,因为它允许调用者决定如何处理异常,而execute()则适用于那些不需要关注执行结果的场景。

具体的源码分析可以参考这篇:线程池中线程异常后:销毁还是复用?- 京东技术。

线程池在提交任务前,可以提前创建线程吗?

答案是可以的!ThreadPoolExecutor 提供了两个方法帮助我们在提交任务之前,完成核心线程的创建,从而实现线程池预热的效果:

  • prestartCoreThread():启动一个线程,等待任务,如果已达到核心线程数,这个方法返回 false,否则返回 true;

  • prestartAllCoreThreads():启动所有的核心线程,并返回启动成功的核心线程数。

http://www.yayakq.cn/news/654234/

相关文章:

  • 设计的有趣的网站wordpress 文章分页 链接
  • 官网网站搭建搜索引擎营销seo
  • 濮阳网站建设哪家好微信商城开发用华网天下卓越
  • php 校园网站设计展示性公司网站html
  • 网站忘了怎么办互联网建设与管理
  • 数据集网站四平市城市建设档案馆网站
  • 易派客网站是谁做的做网站的语言叫什么
  • 网站建设公司谁管管理咨询公司的服务机构
  • 家教网站开发公司wordpress更换主题方法
  • 注册企业在哪个网站手机公司网站建设比较好的
  • 赶集网网站建设ppt模板详情页设计理念
  • 旅游网站建设目标郑州企业网站建设兼职
  • 东营微信网站制作支付建设网站的费用什么科目
  • 北京市建设工程交易服务中心网站有什么网站可以帮人做模具吗
  • 网站怎么做排行榜安卓代理ip软件
  • 小学教育网站专题模板四川自助网站
  • 如何制作门户网站行业网站建设优化案例
  • 慕课网站建设开题报告网站 推广方案
  • 正规网站制作公司有哪些南宫企业做网站
  • rtk建站教程wordpress仿妹子图
  • wordpress完美主题长沙优化网站建设
  • 网站内容怎么写设计微信网站建设
  • 淄博免费网站建设哪家好商标购买
  • 域名seo站长工具校园网站建设资金来源有
  • 中国热门网站网页界面设计招聘
  • wordpress非官方seo是什么职务
  • 美食网站开发的目的谷歌英文网站优化
  • 网站做edi认证有用没百度地图导航网页版
  • 网站开发南昌js怎么做网站
  • 怎么做一个自己网站白酒网站的建设