当提交一个新的任务到线程池时,线程池的处理流程:
1、线程池判断核心线程池里的线程是否都在执行任务,如果不是,则创建一个新的工作线程来执行任务。如果核心线程池里的线程都在执行任务,则进入到下一个流程。
2、线程池判断工作队列是否已满。如果工作队列没有满,则将新任务存储在这个工作队列里。如果工作队列满了,则进入到下一个流程。
3、线程池判断线程池里的线程是否都处于工作状态,如果没有,则新创建一个工作线程来执行任务。如果已经满了,则交给饱和策略来处理这个任务。
当提交一个新的任务到线程池时,线程池的处理流程:
1、线程池判断核心线程池里的线程是否都在执行任务,如果不是,则创建一个新的工作线程来执行任务。如果核心线程池里的线程都在执行任务,则进入到下一个流程。
2、线程池判断工作队列是否已满。如果工作队列没有满,则将新任务存储在这个工作队列里。如果工作队列满了,则进入到下一个流程。
3、线程池判断线程池里的线程是否都处于工作状态,如果没有,则新创建一个工作线程来执行任务。如果已经满了,则交给饱和策略来处理这个任务。
本文标题:线程池的实现原理
本文链接:https://www.haomeiwen.com/subject/usmnzktx.html
网友评论