0
点赞
收藏
分享

微信扫一扫

ThreadPoolExecutor线程池的使用


ThreadPoolExecutor是最基础的线程池类。Executors里面的各种线程池,都是由他演变而来。 学会它,可以说是以不变应万变。
ThreadPoolExecutor的五个参数:

类型和名称

描述

int corePoolSize

核心线程池的大小

int maximumPoolSize

最大线程池大小,默认是Integer.MAX_VALUE

long keepAliveTime

当线程池数量大于core时,这个时间内,如果没有其他线程来使用多余的线程,就会释放,可以理解为是为了避免频繁的启动和停止线程

TimeUnit unit

keepAliveTime 的时间单位,如TimeUnit.SECONDS

BlockingQueue workQueue

阻塞队列的具体实现

简单的说就是5个:
coreSize
maxSize
aliveTime
timeUnit
阻塞对列的具体实现

线程代码中 对应关系

需求方 外层for循环
办理窗口 线程池线程数量
单人需要资源数 n,可以通过总数和n计算,也可以通过信号量
总资源 s


举报

相关推荐

0 条评论