美文网首页
线程池原理

线程池原理

作者: 拧小怪 | 来源:发表于2018-04-09 16:27 被阅读0次

corePoolSize 核心线程数

maximunPoolSize  最大线程数

keepAliveTime 多余空闲线程最大保持时间

unit 保持时间的单位

workQueue 阻塞队列,用于保存等待被执行的任务。任务必须实现Runnable接口

threadFactory 创建线程工厂

handler 饱和策略

新建一个线程池,池中初始化corePoolSize个数的线程

当有任务过来时(假设任务数为n):

若n <= corePoolSize,则直接执行task

若n > corePoolSize,超出corePoolSize个数的任务塞入阻塞队列中

当阻塞队列塞满时,会在线程池新建线程来执行 corePoolSize < n <= maximumPoolSize 部分的任务

再超出的任务,则执行handler指定的饱和策略进行处理。(默认饱和后直接抛出异常)

当任务都执行完毕后,线程保持空闲状态。corePoolSize < n <= maximumPoolSize部分的线程会保持 keepAliveTime 时间长度,超出后自动释放。

相关文章

网友评论

      本文标题:线程池原理

      本文链接:https://www.haomeiwen.com/subject/xnmihftx.html