乐趣区

3分钟干货之详解线程池

线程池通过复用线程,避免线程频繁创建和销毁。Java 的 Executors 工具类中,提供了 5 种类型线程池的创建方法,它们的特点和适用场景如下:
第 1 种是:固定大小线程池,特点是线程数固定,使用无界队列,适用于任务数量不均匀的场景、对内存压力不敏感,但系统负载比较敏感的场景;
第 2 种是:Cached 线程池,特点是不限制线程数,适用于要求低延迟的短期任务场景;
第 3 种是:单线程线程池,也就是一个线程的固定线程池,适用于需要异步执行但需要保证任务顺序的场景;
第 4 种是:Scheduled 线程池,适用于定期执行任务场景,支持按固定频率定期执行和按固定延时定期执行两种方式;
第 5 种是:工作窃取线程池,使用的 ForkJoinPool,是固定并行度的多任务队列,适合任务执行时长不均匀的场景。

退出移动版