美文网首页
线程池原理

线程池原理

作者: 拧小怪 | 来源:发表于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