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

共享网站的建设与规划建设银行在上海的招聘网站

共享网站的建设与规划,建设银行在上海的招聘网站,企业网站托管新趋势,网站子目录怎么做反向代理设置一、线程池的执行流程总结 提交线程任务#xff1b;如果线程池中存在空闲线程#xff0c;则分配一个空闲线程给任务#xff0c;执行线程任务#xff1b;线程池中不存在空闲线程#xff0c;则线程池会判断当前线程数是否超过核心线程数#xff08;corePoolSize#xff09… 一、线程池的执行流程总结 提交线程任务如果线程池中存在空闲线程则分配一个空闲线程给任务执行线程任务线程池中不存在空闲线程则线程池会判断当前线程数是否超过核心线程数corePoolSize 若未超出核心线程数则创建一个核心线程用来执行线程任务若超出核心线程数则线程池会检查工作队列workQueue是否已满 如果工作队列未满则将该线程任务存入工作队列中当线程池中出现空闲线程从工作队列中依次取出线程任务并执行如果工作队列已满则判断是否超出最大线程数maximumPoolSize 若当前线程池中的线程数超出最大线程数则执行拒绝策略defaultHandler。若当前线程池中的线程数未超出最大线程数则创建非核心线程数来执行线程任务。 二、线程池的配置参数总结 1.核心线程数corePoolSize int corePoolSize 核心线程数也就是线程池的最小线程数量。 核心线程会一直存活不会被回收除非设置了核心线程超时时间在创建线程池后默认情况下线程池中没有任何线程调用excute()方法添加一个任务。 当线程池中没有空闲线程时查看是否超过核心线程数 线程数量小于核心线程数则马上创建新的核心线程来执行线程任务。线程数量大于核心线程数则查看工作队列是否超出。 2.最大线程数maximumPoolSize int maximumPoolSize 是指线程池中允许的最大线程数量。 当工作队列已满且存活线程数超过了核心线程数时线程池判断“存活线程数”是否超过最大线程数 未超过最大线程数创建新线程来执行该任务。超过最大线程数执行拒绝策略。 3.非核心的空闲线程的存活时间keepAliveTime long keepAliveTime 当线程数大于核心线程数时空闲的线程等待新任务到达的最大时间如果超过这个时间线程还没有需要执行的任务该空闲线程就会销毁。 4.keepAliveTime的单位unit TimeUnit unit keepAliveTime的单位枚举类型的TimeUnit类。 5.阻塞工作队列workQueue BlockingQueueRunnable workQueue 在任务执行之前用来存储任务的工作队列此队列只保存由excute()方法提交的Runnable类型的任务。 当存活的线程数大于核心线程数查看工作队列 工作队列未满将新的请求任务加入工作队列工作队列已满线程池判断是否超过最大线程数。 5.1 ArrayBlockingQueue 基于数组有界阻塞队列FIFO先进先出。 capacity队列初始化大小fair表示该队列中的可重入锁是否公平默认为false 当线程池中已经存在最大数量的线程时候再请求新的任务这时就会将任务加入工作队列的队尾一旦有空闲线程就会取出队头执行任务。 5.2 LinkedBlockingQueue 基于链表的误解阻塞队列默认最大容量为Integer.MAX_VALUE可认为是无限队列FIFO先进先出。 指定工作队列大小则最大线程数量的限制是有效的。 5.3 SynchronousQueue 可以将SynchronousQueue看作是一个没有容量的阻塞队列它严格遵循FIFO先进先出的原则但特殊的是它不会保存任何元素而是直接在不同的线程间进行传递。 6.线程工厂threadFactory ThreadFactory threadFactory 用于创建一个新线程时使用的工厂可以用来设置线程名。 没有特别声明时使用Executors工具类提供的默认线程工Executors.defaultThreadFactory()。 自定义线程工厂时要实现ThreadFactory接口重写newThread()方法。 7.拒绝策略handler RejectedExecutionHandler handler 当线程池内的线程被耗尽并且工作队列已满对于新提交的任务将使用拒绝策略进行处理。 7.1 AbortPolicy丢弃线程任务并抛出异常 没有特别声明时使用默认的拒绝策略defaultHandler 7.2 DiscardOldestPolicy将工作队列的对头移除线程池重新执行该线程任务 7.3 DiscardPolicy直接丢弃该任务 7.4 CallerRunPolicy线程池没有关闭时线程自己调用run方法 7.5 自定义的拒绝策略实现RejectedExecutionHandler接口 重写void rejectedExecution(Runnable r, ThreadPoolExecutor executor)方法
http://www.dnsts.com.cn/news/92075.html

相关文章:

  • 做视频直播类型的网站快手网页版
  • 网站开发网站开发用什么架构
  • 注册万网后网站怎么赚钱的网站需求表
  • 中国建设银行官网站额度申请手机网站建站系统
  • 企业网站建设的基本原则seo入门培训课程
  • 网站建设装什么系统永州静默管理
  • 怎么做捕鱼网站做301跳转会影响之前网站排名吗
  • 做网站打广告网页制作大宝库官网
  • 厦门商城网站开发开源软件开发平台
  • 公司网站建设多少费用广州百度快速优化排名
  • html网站设计范例濮阳建站公司哪个好
  • 有域名了如何建网站商业网站开发
  • 湖北建设部网站建立公司的流程
  • 本标准在住房城乡建设部门户网站单位网站建设工作功劳
  • php 简单购物网站织梦可以做论坛网站
  • 一站式服务中心wordpress code标签
  • 常德网站建设 天维电子商务网站html模板
  • heritrix做网站网站策划布局
  • 资深做网站公司郑州网站推广公司
  • 聊城网站设计wordpress新页面代码
  • 做资讯类网站需要什么资质什么网站用php做的
  • 写作网站最大现在可以做网站么
  • 港口建设申报网站中小企业怎么优化网站
  • 江苏中南建设集团网站是多少钱vs2012 建网站
  • 网站设计分析报告公司注册网站及流程
  • 我想找个郑州做网站的高端创意网站建设
  • admin5站长网seo推广方式
  • 备案成功后怎么建网站做网站一般用什么程序
  • 简述商业网站建设的流程flash网站的优缺点
  • 干事儿网网站开发响应式外贸营销网站