线程池中线程和队列

线程池中的队列分两种,有界队列和无界队列,

当使用有界队列的时候,新加入一个任务会先判断核心线程是否有空闲的,如果有,就直接使用线程执行,如果没有,会看看有界队列是否已满,如果未满,则将任务加入有界队列中,等核心线程有空闲的时候再去从队列中获取执行,如果有界队列已满,这个时候就会看看正在运行的线程数是否大于最大线程数,如果不大于,则创建新的线程执行这个任务,如果大于,则执行拒绝策略。

当使用无界队列的时候,新加入一个任务,如果运行的线程数小于核心线程数,则创建新的线程执行此任务,如果已经等于 核心线程数,则将任务加入队列当中,等有空闲线程再去执行此任务。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章