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

北京网络seo站长之家 seo查询

北京网络seo,站长之家 seo查询,工作日记,步骤的骤怎么写线程池的工作流程主要包括任务提交、线程分配、任务执行和线程回收等环节,以下是对其详细的描述: 任务提交 当有任务需要执行时,用户通过线程池提供的提交方法,如execute()或submit()方法,将任务(通常是实现…

线程池的工作流程主要包括任务提交、线程分配、任务执行和线程回收等环节,以下是对其详细的描述:

  1. 任务提交

    • 当有任务需要执行时,用户通过线程池提供的提交方法,如execute()submit()方法,将任务(通常是实现了Runnable接口或Callable接口的对象)提交给线程池。
  2. 线程分配

    • 判断核心线程是否已满:线程池首先会检查当前正在运行的线程数量是否小于核心线程数corePoolSize。如果是,线程池会创建一个新的线程来执行提交的任务。
    • 任务入队:如果当前线程数量已经达到核心线程数,那么线程池会尝试将任务放入任务队列workQueue中。如果任务队列是有界队列且尚未满,任务会被成功放入队列中等待执行。
    • 判断最大线程数:如果任务队列已满,线程池会检查当前线程数量是否小于最大线程数maximumPoolSize。如果是,线程池会创建新的线程来执行任务,即使核心线程都在忙碌状态。
  3. 任务执行

    • 当有空闲线程时,它会从任务队列中获取任务。线程池中的线程在执行任务时,会调用任务的run()方法(如果是Runnable任务)或call()方法(如果是Callable任务)来执行具体的业务逻辑。
    • 如果任务执行过程中出现异常,默认情况下线程池会将异常抛出。不过,可以通过自定义的方式来处理这些异常,比如记录日志等。
  4. 线程回收

    • 判断是否为多余线程:当任务执行完成后,线程不会立即销毁,而是会进入空闲状态并等待新的任务。如果当前线程池中的线程数量超过了核心线程数,并且这些多余的线程在一定时间(keepAliveTime)内没有接收到新的任务,那么这些线程会被销毁,以释放资源。
    • 保持核心线程:核心线程默认情况下会一直存在于线程池中,即使它们处于空闲状态,除非设置了allowCoreThreadTimeOut(true),这样核心线程在空闲时间超过keepAliveTime后也会被回收。
  5. 拒绝策略处理

    • 如果线程池中的线程数量已经达到最大线程数maximumPoolSize,并且任务队列也已满,此时再提交新的任务,线程池会根据设置的拒绝策略handler来处理这些任务。如采用AbortPolicy策略会直接抛出异常,CallerRunsPolicy策略会让提交任务的线程来执行任务等。
http://www.dtcms.com/wzjs/3555.html

相关文章:

  • 北京网易公司是做什么的seo咨询常德
  • 昆明中小企业网站建设俄国搜索引擎yandex入口
  • 胶州收电脑号码是多少合肥网络优化公司有几家
  • 商品网站开发需求表百度扫一扫网页版
  • wordpress媒体库子目录天津百度推广排名优化
  • 网站开发到上线的流程14个seo小技巧
  • 做网站的服务器用什么系统seo推广营销公司
  • 基础做网站凡科建站小程序
  • 网站赌博二维码收钱怎么做的公司查询
  • 免费下载软件全免费西安seo顾问培训
  • 关于我们做网站网站发布与推广方案
  • 手机网站模板更改吗太原网站快速排名优化
  • 马克杯网站开发产品市场营销策划书
  • 企业商务网站的技术初学seo网站推广需要怎么做
  • 网站域名销售seo推广公司价格
  • 云计算存储网站建设安全最新新闻热点事件2024
  • 最专业的网站建设团队广告联盟接单平台
  • 有哪些免费网站可以做店招谷歌外贸seo
  • 官方网站建设 搜搜磐石网络百度搜索引擎投放
  • 濮阳网站公司上海seo网站优化
  • 网站的用户运营值得做吗什么软件能搜索关键词能快速找到
  • h5制作模板免费下载南京seo新浪
  • 泉州网站建设-泉州网站建设公司谷歌外链代发
  • 政府网站建设调研扬州整站seo
  • 网站做视频怎么赚钱的重庆seo网站建设
  • 如何做自己微网站seo关键词优化软件合作
  • 网站设计实验文案短句干净治愈
  • 营销型的网站如何进行营销推广
  • 设计师线上接单的appseo培训学院官网
  • 建筑做文本网站百度网站是什么