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

网站修改器长春网长春关键词排名站设计

网站修改器,长春网长春关键词排名站设计,学做网站的视频教学,公司创建线程池的工作流程主要包括任务提交、线程分配、任务执行和线程回收等环节,以下是对其详细的描述: 任务提交 当有任务需要执行时,用户通过线程池提供的提交方法,如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/165102.html

相关文章:

  • 百度做玻璃钢的网站视频网站推广
  • 修水网站建设seo搜索引擎优化师
  • 有多少网站建设外包sem优化和seo的区别
  • 娱乐网站设计SEO写文章免费的软件
  • 张家港网站开发网页设计网站建设
  • 福州小型网站建设seo网站平台
  • asp.net 网站 项目 区别郑州seo排名公司
  • php动态网站开发测评试题外链推广软件
  • seo网站模板竞价推广代运营企业
  • 保定建设信息网站福建seo搜索引擎优化
  • 加强政府网站建设的意见外贸seo优化公司
  • 白河网站制作谷歌sem和seo区别
  • 东莞网站建设是什么意思seo数据监控平台
  • 网站建设域名是什么优化网站seo策略
  • 20亿做网站2345浏览器导航页
  • 阿里云虚拟主机可以做几个网站seo 推广教程
  • 一个网站的二维码怎么做百度一下百度
  • 成都网站建设 川icp备优化的意思
  • 腾讯建站平台官网搜索引擎优化的流程是什么
  • 网站制作的基本概念免费个人自助建站
  • 信息聚合网站怎么做seo优化工作内容
  • 网站开发团队公司模式刷百度指数
  • wordpress 用户权限插件seo关键词布局案例
  • 怎样做ppt建网站服务营销策略
  • 广州有什么好玩的东西seo自学教程seo免费教程
  • 网站建设询价文件宁波seo怎么做优化
  • 南京市网站建设seo优化包括哪些内容
  • 网站没有index.html上海疫情又要爆发了
  • 网站名注册抖音seo推荐算法
  • 05网英语课课练答案seo排名点击软件运营