线程池详解
创建线程池底层方法new ThreadPoolExecutor()线程池参数如何设置优先保证执行效率看每个任务cpu计算和阻塞等待时间比例阻塞等待时间/cpu计算时间 1* cpu核数类似于漏桶虽然cpu执行效率最高但是任务都会阻塞堆积优先保证吞吐量缓存线程池每来一个任务创建一个线程来处理导致大量线程切换浪费效率来一个任务怎么处理先判断核心线程 --核心线程都被占用就放入任务队列 --任务队列offer失败就创建应急线程 —应急线程数达到最大都被占用就触发拒绝策略创建线程池6个参数只有任务队列不可以动态调整其它参数都支持动态调整都有set方法任务队列只能在构造函数传入而且BlockingQueue也不允许动态修改容量大小核心线程数线程池刚创建出来核心线程数为0任务增多会逐渐创建核心线程直到此参数。核心线程不会回收一直存在参数可调整调大会立即创建新线程调小在核心线程空闲释放出来后会回收任务队列核心线程都在忙再来任务会放到任务队列等待处理阻塞队列的offer失败会创建临时线程。不可以动态调整队列引用 但是可以使用自定义任务队列调整任务队列的大小tomcat使用自定义阻塞队列重写offer方法只要没达到最大线程池个数offer就返回false放入队列失败让创建应急线程最大线程数应急线程数任务队列满了再来任务会临时创建线程以及处理任务处理完了后放回线程池存活一段时间keepAliveTime即被销毁。参数可动态调整调大立即生效调小释放出来后再生效应急线程存活时间keepAliveTime可动态调整参数但是只对新创建的应急线程生效拒绝策略 应急线程数达到设定参数再来任务就会被触发拒绝策略可动态调整ThreadFactory自定义线程创建可以对线程设置name设置异常捕捉器等拒绝策略任务队列满了以后会创建应急线程来处理这个任务如果线程到达最大线程数就会触发拒绝策略终止抛出RejectedExecutionException异常。调用者运行由提交任务的这个线程运行丢弃最早未处理请求丢弃最先进入阻塞队列的任务以腾出空间让新的任务入队列丢弃策略什么都不做即丢弃新提交的任务。有一些现成可用的线程池newCachedThreadPool()可缓存的线程池核心线程数量为0最大线程数量为INT_MAX。阻塞队列不存储元素。线程空闲时间超过60秒被回收。适合处理大量小任务。newFixedThreadPool()固定线程个数的线程池线程都是核心线程没有应急线程。适合处理量少计算量大的任务。任务队列为有界队列newScheduledThreadPool最大线程数为INT_MAX空闲线程会立即回收。任务队列为无界队列。延迟任务线程池内部使用DelayedWorkQueue所有任务按照到期时间排序如果没到时间线程拿任务会阻塞就是延迟队列newSingleThreadPool线程池里面只有一个线程任务队列没有大小限制。任务队列为有界队列动态线程池从三个维度进行监控使用PID自动调整线程池所有参数使用自定义任务队列线程池监控任务队列剩余空间、任务拒绝次数等性能维度任务等待时间、任务p99、任务吞吐等机器资源维度cpu使用率、内存使用率等

相关新闻

R4900G3,配置Raid,并通过HDM安装esxi系统

R4900G3,配置Raid,并通过HDM安装esxi系统

一、配置raid 文章链接:新华三 R4900G3 Raid配置 久酷 新华三服务器感觉还是非常符合咱们国人习惯的。非常人性化的标签设计以及hdm管理功能;开机启动后会默认进入配置界面,按下F7 BOOT Menu 进入设置界面, 这里将bios默认统一…

2026/8/7 17:19:27 阅读更多 →
设计模式(五)—— 单例模式

设计模式(五)—— 单例模式

一、为什么需要单例模式有一些对象,我们只需要一个,比如:线程池,连接池,注册表,对话框,缓存等的对象。并且,这些对象也只能有一个,因为一旦出现多个,就会导致…

2026/8/7 17:19:27 阅读更多 →
Scroll Reverser终极指南:如何在Mac上为触控板和鼠标设置独立的滚动方向

Scroll Reverser终极指南:如何在Mac上为触控板和鼠标设置独立的滚动方向

Scroll Reverser终极指南:如何在Mac上为触控板和鼠标设置独立的滚动方向 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 你是否曾在MacBook触控板上习惯了自然滚动&a…

2026/8/7 17:18:27 阅读更多 →

最新新闻

C语言中字符数组的初始化与赋值

C语言中字符数组的初始化与赋值

1.字符数组初始化 在C语言中,字符串是当做字符数组来处理的;所以字符串有两种声明方式,一种是字符数组,一种是字符指针。 char parr[] "zifuchuanshuzu"; char charr[] { z,i,f,u,c,h,u,a,n,s,h,u,z,u }; 这是字符数…

2026/8/7 18:13:49 阅读更多 →
5分钟掌握ttkbootstrap主题系统:打造现代化Tkinter界面的终极指南

5分钟掌握ttkbootstrap主题系统:打造现代化Tkinter界面的终极指南

5分钟掌握ttkbootstrap主题系统:打造现代化Tkinter界面的终极指南 【免费下载链接】ttkbootstrap Modern themes for Tkinter. Sleek, responsive styles inspired by Bootstrap. Includes ready-to-use widgets, 30 themes, and tools for building beautiful, cro…

2026/8/7 18:13:49 阅读更多 →
Outfit字体:为现代数字设计量身打造的专业级开源字体解决方案

Outfit字体:为现代数字设计量身打造的专业级开源字体解决方案

Outfit字体:为现代数字设计量身打造的专业级开源字体解决方案 【免费下载链接】Outfit-Fonts The most on-brand typeface 项目地址: https://gitcode.com/gh_mirrors/ou/Outfit-Fonts 在当今数字设计领域,字体选择往往成为项目成败的关键因素。设…

2026/8/7 18:13:49 阅读更多 →
无需Root的Android虚拟定位神器:GoGoGo摇杆控制全解析

无需Root的Android虚拟定位神器:GoGoGo摇杆控制全解析

无需Root的Android虚拟定位神器:GoGoGo摇杆控制全解析 【免费下载链接】GoGoGo 一个基于 Android 调试 API 百度地图实现的虚拟定位工具,并且同时实现了一个可以自由移动的摇杆 项目地址: https://gitcode.com/GitHub_Trending/go/GoGoGo 想要在…

2026/8/7 18:13:49 阅读更多 →
深度解析LLM DataDist:大模型推理优化的3个关键架构突破

深度解析LLM DataDist:大模型推理优化的3个关键架构突破

深度解析LLM DataDist:大模型推理优化的3个关键架构突破 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率&#xff0c…

2026/8/7 18:13:49 阅读更多 →
Unity URP渲染管线入门:从核心原理到项目实战配置指南

Unity URP渲染管线入门:从核心原理到项目实战配置指南

1. 项目概述:为什么URP是Unity开发者的新起点如果你最近打开Unity Hub准备新建一个项目,可能会发现一个明显的变化:在渲染管线的选择上,除了经典的“内置渲染管线”,一个名为“通用渲染管线”的选项被放在了更显眼的位…

2026/8/7 18:12:49 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上,享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/7 17:02:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/7 17:02:36 阅读更多 →