暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

一分钟看懂多线程工作原理

sCloud 2021-11-01
902

开发中,用的比较多的就是线程池,不建议自己new线程,这是为了避免线程创建、上下文开销。

线程池中,有几个参数:


    核心线程数
    最大线程数
    阻塞队列
    拒绝策略
    空闲线程存活时间
    存活时间单位
    线程工厂


上图是线程的一个执行逻辑。

  1. 任务进来时,核心线程池未满,则创建核心线程;

  2. 如果核心线程满了,则任务进入阻塞队列;

  3. 如果阻塞队列也满了,且未达到最大线程数,则开始创建非核心线程;

  4. 没有空闲线程,以及队列也已经满了,则按照设置的拒绝策略拒绝任务


以上就是多线程简单执行逻辑,其背后设计更加复杂,自行体会。

文章转载自sCloud,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论