美文网首页
线程池的实现原理

线程池的实现原理

作者: 七月_JulyFY | 来源:发表于2019-08-24 00:48 被阅读0次

    当提交一个新任务到线程池时,线程池的处理流程如下:

    1. 线程池判断核心线程池里的线程是否都在执行任务。如果不是,则创建一个新的工作线程来执行任务。如果核心线程池里的线程都在执行任务,则进入下个流程。
    2. 线程池判断工作队列是否已经满。如果工作队列没有满,则将新提交的任务存储在这个工作队列里。如果工作队列满了,则进入下个流程
    3. 线程池判断线程池的线程是否都处于工作状态。如果没有,则创建一个新的工作线程来执行任务。如果已经满了,则交给饱和策略来处理这个任务
    Abort 策略(默认) : 丢弃任务 并抛出异常
    discard 策略:丢弃任务 但不抛出异常 不建议
    CallerunsPolicy 策略 :绕过调用 run 方法 由调用者去执行当前任务

    相关文章

      网友评论

          本文标题:线程池的实现原理

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