常用的线程池有哪些?

简介: 常用的线程池有哪些?

1.newSingleThreadExecutor:创建一个唯一的工作者线程来执行任务,保证所有任务按照指定顺序(FIFO、LIFO、优先级)执行。如果这个线程异常结束的话,会有另一个取代它,保证顺序执行。单工作线程最大的特点是可保证顺序地执行各个任务,并且在任意给定的时间不会有多个线程是活动的。

2.newFixedThreadPool:创建一个可重用指定线程数量的线程池。每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中。FixedThreadPool 可以提高程序效率和节省创建线程时所消耗的开销。但是,在线程池中没有可运行任务时,它不会释放工作线程,还会占用一定的系统资源。

3.newCachedThreadPool:这是一个处理大量短时间工作任务的线程池,工作线程的创建数量没有限制,可以根据需求灵活的往线程池中添加线程。它的几个特点:

(1)它会试图缓存线程并且重用,当没有缓存线程可用的时候,会创建新的工作线程

(2)如果线程闲置的时间超过阈值(默认 1 分钟),则会被终止并移出缓存。

(3)综上两点,所以在系统长时间闲置的时候,不会消耗什么资源。

4.newScheduleThreadPool:创建一个定长的线程池,而且支持定时的以及周期性的任务执行,支持定时及周期性任务执行,延迟 3 秒执行等。

相关文章
JAVA并发编程系列(7)Semaphore信号量剖析
腾讯T2面试,要求在3分钟内用不超过20行代码模拟地铁安检进站过程。题目设定10个安检口,100人排队,每人安检需5秒。实际中,这种题目主要考察并发编程能力,特别是多个线程如何共享有限资源。今天我们使用信号量(Semaphore)实现,限制同时进站的人数,并通过信号量控制排队和进站流程。并详细剖析信号量核心原理和源码。
|
11月前
|
编解码 缓存 网络安全
安婕儿-飞天使 常见问题
本文档提供了关于使用安婕儿辅助工具时遇到的各种常见问题及其解决方案,包括辅助工具无法使用、登录网络连接失败、插件损坏或无法注册、窗口数据获取失败、界面显示异常、中文输入乱码、游戏窗口异常放大缩小、启动卡死、游戏黑屏、辅助功能不正常运行等问题的处理方法。同时,文中还特别提到了解决方案中涉及的系统设置调整、杀毒软件设置、系统组件注册等技术细节,旨在帮助用户顺利解决使用过程中遇到的问题。此外,文档末尾提供了官方下载链接及网盘更新链接集合,方便用户获取最新版本的辅助工具。
|
存储 区块链 数据安全/隐私保护
区块链技术在跨境支付与清算中的创新实践
区块链技术在跨境支付与清算中的创新实践
|
Java API Spring
Spring5入门到实战------1、Spring5框架概述、入门案例
这篇文章是Spring5框架的入门教程,概述了Spring框架的核心概念和特点,并通过一个创建普通Java类的案例,详细演示了从下载Spring核心Jar包、创建配置文件、编写测试代码到运行测试结果的完整流程,涵盖了Spring IOC容器的使用和依赖注入的基本用法。
|
Java 测试技术 Spring
SpringBoot配置加载顺序
SpringBoot配置加载顺序
1126 0
|
消息中间件 Java Maven
深入理解Spring Boot Starter:概念、特点、场景、原理及自定义starter
深入理解Spring Boot Starter:概念、特点、场景、原理及自定义starter
|
Android开发
Android 按钮实现按压水波纹效果
Android 按钮实现按压水波纹效果
551 0
Android 按钮实现按压水波纹效果
|
缓存 安全 Java
什么是线程安全?如何保证线程安全?Java 中保证线程安全的方法有哪些?【重要】
什么是线程安全?如何保证线程安全?Java 中保证线程安全的方法有哪些?【重要】
3564 0
|
Android开发 UED 开发者
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突(二)
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突