news 2026/6/10 18:18:20

Java线程池

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java线程池

一、基本概述

Executor框架是Java5引入的,用于简化线程管理和调度。核心思想是将任务的提交与执行分离。Executor接口位于Java.util.concurrent并发编程核心包下。

二、类和接口的关系

Executor (接口)最基本的接口

ExecutorService (接口)扩展更多功能

AbstractExecutorService (抽象类)

ThreadPoolExecutor (具体类)

ScheduledThreadPoolExecutor (具体类)支持定时任务

三、线程池核心类

public class ThreadPoolExecutor extends AbstractExecutorService {
// 核心构造方法
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory,
RejectedExecutionHandler handler) {
// ...
}
}

七个参数:

1.corePoolSize 核心线程数

2.keepAliveTime最大线程数

3.keepAliveTime存活时间

4.unit 存活时间的单位

5.workQueue阻塞队列

6.创建线程的工厂

7.执行的拒绝策略

四、执行顺序

a、线程池创建,生成核心线程数的线程core

b、任务持续进来,当core满了后,任务进入阻塞队列。阻塞队列有一个size。

c、阻塞队列满了后,就会开启max-core的线程,即启动新的线程,直到max。

d、当max线程也满了后,就执行拒绝策略代码。

e、当max-core线程空闲下来,空闲的时间超过存活时间,则释放

五、其他

1拒绝策略:丢弃,同步调用,丢弃并抛异常,丢弃当前,丢弃老的等等。

2作用:降低资源的消耗,提高响应速度,提供可管理性。

3核心线程也可以释放,通过设置。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 20:06:12

鸿蒙设备跨屏操控革命:HOScrcpy远程真机技术深度解析

鸿蒙设备跨屏操控革命&#xff1a;HOScrcpy远程真机技术深度解析 【免费下载链接】鸿蒙远程真机工具 该工具主要提供鸿蒙系统下基于视频流的投屏功能&#xff0c;帧率基本持平真机帧率&#xff0c;达到远程真机的效果。 项目地址: https://gitcode.com/OpenHarmonyToolkitsPl…

作者头像 李华
网站建设 2026/6/9 18:30:49

HandBrake视频转码:从入门到精通的完整解决方案

HandBrake视频转码&#xff1a;从入门到精通的完整解决方案 【免费下载链接】HandBrake HandBrakes main development repository 项目地址: https://gitcode.com/gh_mirrors/ha/HandBrake 还在为视频格式不兼容而烦恼吗&#xff1f;想要将高清视频压缩到适合手机播放的…

作者头像 李华
网站建设 2026/6/10 8:13:52

Vite多页面应用架构:从零构建企业级前端工程解决方案

Vite多页面应用架构&#xff1a;从零构建企业级前端工程解决方案 【免费下载链接】vite Next generation frontend tooling. Its fast! 项目地址: https://gitcode.com/GitHub_Trending/vi/vite 为什么你需要重新思考前端架构&#xff1f; 在现代Web开发中&#xff0c;…

作者头像 李华
网站建设 2026/6/10 2:40:17

如何在3天内快速部署HospitalRun多语言国际化框架

如何在3天内快速部署HospitalRun多语言国际化框架 【免费下载链接】hospitalrun-frontend Frontend for HospitalRun 项目地址: https://gitcode.com/gh_mirrors/ho/hospitalrun-frontend HospitalRun作为一款面向全球医疗机构的开源管理系统&#xff0c;其强大的国际化…

作者头像 李华
网站建设 2026/6/10 9:22:01

Element UI Table组件:企业级数据可视化解决方案

Element UI Table组件&#xff1a;企业级数据可视化解决方案 【免费下载链接】element A Vue.js 2.0 UI Toolkit for Web 项目地址: https://gitcode.com/gh_mirrors/eleme/element 在企业级应用开发中&#xff0c;数据表格作为信息展示的核心载体&#xff0c;承担着复杂…

作者头像 李华
网站建设 2026/6/10 9:24:49

PyAutoGUI实战指南:精通Python自动化控制技巧

PyAutoGUI实战指南&#xff1a;精通Python自动化控制技巧 【免费下载链接】pyautogui asweigart/pyautogui: 是一个用于自动化图形用户界面操作的 Python 库。适合在 Python 应用程序中实现自动化操作&#xff0c;例如自动点击、拖动、输入文字等。特点是提供了简单的 API&…

作者头像 李华