多线程
文章平均质量分 75
快马扬鞭
你不玩命,命运就会玩你。
展开
-
线程池实现原理(二)
前言 本篇主要介绍除了线程池执行任务的流程。 详解线程池执行流程 向线程池提交任务时的执行任务流程如下图所示。 首先,当向线程池提交任务时,会先判断线程池中的核心线程数是否大于设置的核心线程数,如果不大核心线程数就创建线程。 如果大于核心线程数,就会判断缓冲队列是否满了,如果没有满,则放入缓冲队列,等待线程空闲时执行任务。 如果队列已满,则判断是否达到了设置的最大线程数,若没有就创建线程来执行任务。 如果已经达到了设置的最大线程数,就执行指定的拒绝策略。 我们在向线程提交任务时可以使用e.原创 2021-02-22 23:17:05 · 195 阅读 · 0 评论 -
线程池实现原理(一)
前言 线程池我们都知道之所以使用线程池是因为通过复用线程池,避免线程频繁地创建和销毁。本篇文章中,我会首先介绍常用的类型和适用场景以及线程池的实现原理。 1、线程池的类型 在Java的Executors类中提供了5种类型的线程池的创建方法。它们分别是: 1、newFixedThreadPool 固定大小线程池,适用于任务数量不均匀的场景或对内存压力不敏感,但系统负载比较敏感的场景; 2、newCachedThreadPool 缓存线程池,适用于要求低延迟的短期任...原创 2021-02-21 16:59:27 · 213 阅读 · 0 评论