Java线程池几个参数的理解

来源:互联网 发布:免费少儿学习软件 编辑:程序博客网 时间:2024/05/22 10:58

 线程池几个参数的理解:


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


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

不知道这样解释, 大家能不能更清楚一些呢?



2 0
原创粉丝点击