Java线程池几个参数的理解

 

Java线程池几个参数的理解

标签: Java线程池 corePoolSize keepAliveTime Runnable 线程队列
103人阅读  评论(0)  收藏  举报
  分类:
用法概括(28) 

线程池几个参数的理解:


比如去火车站买票, 有10个售票窗口, 但只有5个窗口对外开放. 那么对外开放的5个窗口称为核心线程数, 而最大线程数是10个窗口.如果5个窗口都被占用, 那么后来的人就必须在后面排队, 但后来售票厅人越来越多, 已经人满为患, 就类似于线程队列已满.这时候火车站站长下令, 把剩下的5个窗口也打开, 也就是目前已经有10个窗口同时运行. 后来又来了一批人,10个窗口也处理不过来了, 而且售票厅人已经满了, 这时候站长就下令封锁入口,不允许其他人再进来, 这就是线程异常处理策略.而线程存活时间指的是, 允许售票员休息的最长时间, 以此限制售票员偷懒的行为.


[java]  view plain  copy
  1. ThreadPoolExecutor mExecutor = new ThreadPoolExecutor(corePoolSize,// 核心线程数  
  2.                         maximumPoolSize, // 最大线程数  
  3.                         keepAliveTime, // 闲置线程存活时间  
  4.                         TimeUnit.MILLISECONDS,// 时间单位  
  5.                         new LinkedBlockingDeque<Runnable>(),// 线程队列  
  6.                         Executors.defaultThreadFactory(),// 线程工厂  
  7.                         new AbortPolicy()// 队列已满,而且当前线程数已经超过最大线程数时的异常处理策略  
  8.                 ); 

猜你喜欢

转载自blog.csdn.net/frimary/article/details/80027846