线程池参数设置问题

news2024/11/13 6:39:26

线程池主要包括以下参数:

ThreadPoolExecutor executor = new ThreadPoolExecutor(
                2,//核心线程数
                2,//最大线程数
                60L,//空闲线程存活时间
                TimeUnit.SECONDS,
                new ArrayBlockingQueue<>(2),//任务队列
                Executors.defaultThreadFactory(),
                new ThreadPoolExecutor.CallerRunsPolicy() //拒绝策略

        );

线程池内部流程:

线上问题排查思路:

  1. dump出线程文件,分析出发生线程阻塞的代码位置
  2. 分析出线程阻塞的原因
  3. 修改线程池的配置参数,核心线程数基于线上接口的QPS计算,最大线程数参考线上tomcat的最大线程数配置,能够cover住高峰流量,队列设置的尽量小,避免造成任务挤压
  4. 扩展线程池,封装原生JDK线程池ThreadPoolExecutor,增加对线程池各项指标的监控,包括线程池运行状态、核心线程数、最大线程数、任务等待数、已完成任务数、线程池异常关闭等信息,便于实时监控和定位问题。
  5. 重写线程池拒绝策略,主要也是记录超出线程池负载情况下的各项指标情况,以及调用线程的堆栈信息,便于排查分析,通过抛出异常方式中断执行,避免引用的future不为null的问题。
  6. 合理调整future.get超时时间,防止阻塞主线程时间过长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1963050.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分布式应用系统设计.Feed 流系统(学习笔记)

什么是Feed 流系统 今天记录 Feed 流系统的设计学习笔记&#xff0c;Feed 流常见系统包括 Twitter、微博、Instagram 和抖音等等&#xff0c;它们的特点是&#xff0c;每个用户都是内容创作者&#xff0c;每个用户也都是内容消费者&#xff0c;每个用户看到的内容都是不同的&a…

PyTorch学习(2)-猫狗大战数据集分类识别-PyTorch代码实训

猫狗大战数据集分类识别-PyTorch代码实训 二分类任务 数据集文件目录结构图 pythonProject/ │ ├── cat_recognition.py │ └── kagglecatsanddogs_5340/└── PetImages/├── Cat/...└── Dog/...Cat和Dog文件夹中的图片的后缀均为.jpg 代码1&#xff08;实现…

MYSQL多表数据去重、合并、取并集等

SQL join 用于把,来自两个或多个表的行结合起来。 下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。。 1、SELECT <select_list> FROM TableA A LEFT JOIN TableB B ON A.Key = B.Key 2、SELECT <select_list> FROM TableA A LEFT …

在VMware里面安装Linux安装教程

!(https://gitee.com/code-shuyi/local-images/raw/master/image/202407311020201.png) 5385453)] [外链图片转存中…(img-BiUfrRTp-1722395385453)]

替代TLD5190同步四开关升降压LED专用电源调节器,支持PWM调光功能,具有强制电流调节模式

特征:PC8655替代TLD5190  AEC-Q100合格 −设备环境温度&#xff1a; -40C≤TA≤125C −器件结温&#xff1a; -40C≤TJ≤150C  工作输入电压4.5V至55V&#xff0c;启动电压降至4.5V  在各种条件下效率都很高&#xff0c;高达96%  3%LED电流精度  高侧PMOS调…

C语言中的浮点数存储:深入探讨

案例引入 请看下面一段代码并思考结果&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() {int n 9;float* pFloat (float*)&n;printf("n的值为&#xff1a;%d\n", n);printf("*pFloat的值为&#xff1a;%f\n", *…

如何实现参加RAG比赛但进不了复赛的总结

今天写这篇文章主要就是总结一下我使用的一些基本方法&#xff0c;虽然肯定比不上前十的大佬们的操作&#xff0c;但对于常规RAG实现来说也是够用的。这次的考题是给了一堆HTML的知识文档&#xff0c;基于这些文档来进行知识问答。这些文档是企业内部的运维相关文档&#xff0c…

点击jmeter.bat一闪而过无法打开的解决方案

重新查看了配置&#xff0c;在系统变量&#xff08;win10以上直接搜索“环境变量”&#xff09;配置了所有的配置&#xff0c;点击jmater.bat一闪而过无法打开&#xff0c;并且在命令行输入jmeter如下的提示&#xff1a; 检查JMETER_HOME在系统变量的配置是否有分号&#xff0c…

windows 上使用纯 nvcc 命令编译 myboyhood/yolo-tensorrt 工程的过程记录

1. 码云仓库链接&#xff1a;https://gitee.com/myboyhood/yolo-tensorrt 2. 参考博客&#xff1a; 1. 用C/C写一个简单的音乐播放器&#xff08;基于windows控制台编程&#xff09;&#xff1a;https://blog.csdn.net/lwx1051046458/article/details/128889992 3. 过程记录&…

Linux中新添加的磁盘信息不显示-主动扫盘(刷新磁盘状态)

在Linux系统中&#xff0c;当你新添加了一个磁盘&#xff08;无论是通过物理添加还是虚拟化环境&#xff09;&#xff0c;你可能需要让系统识别这个新磁盘&#xff0c;并且可能需要更新或“刷新”磁盘的状态。这通常涉及到几个步骤&#xff0c;但没有一个直接的“刷新磁盘状态”…

springboot集成nacos开启权限验证报错:user not found!

按照官网的说明对nacos的application.properties配置做了开启权限配置。 我的配置项&#xff1a; spring:cloud:nacos:discovery: #服务发现配置group: devnamespace: integrated-manage-dev password: integrated_manageusername: integrated_manageserver-addr: lo…

手把手教你实现基于丹摩智算的YoloV8自定义数据集的训练、测试。

摘要 DAMODEL&#xff08;丹摩智算&#xff09;是专为AI打造的智算云&#xff0c;致力于提供丰富的算力资源与基础设施助力AI应用的开发、训练、部署。 官网链接&#xff1a;https://damodel.com/register?source6B008AA9 平台的优势 &#x1f4a1; 超友好&#xff01; …

Java 延迟消息

场景 6S后执行任务 7天后发送订单 从现有时间算延后多少时间开始执行&#xff0c;当然也可以转换为在以后某个时间执行。 Timer类 Java中的Timer类是一个定时器&#xff0c;它可以用来实现延时消息的功能。 import java.util.Timer; import java.util.TimerTask;public c…

uniapp微信小程序本地和真机调试文件图片上传成功但体验版不成功

文章目录 导文是因为要添加服务器域名&#xff01; 导文 uniapp微信小程序本地和真机调试文件图片上传成功但体验版不成功 uniapp微信小程序体验版上传图片不成功 微信小程序本地和真机调试文件图片上传成功但体验版不成功 是因为要添加服务器域名&#xff01; 先看一下 你小程…

android13 第三方桌面不能使用后台历史任务问题 任务键功能失效问题

总纲 android13 rom 开发总纲说明 目录 1.前言 2.复现现象 3.问题分析 4.解决方法 5.编译运行 6.彩蛋 1.前言 随着Android 13操作系统的发布,用户现在可以更加自由地选择和使用第三方Launcher来定制自己的设备。本文将介绍在Android 13上安装和使用第三方Launcher导致…

工信部哪些证书可以考,含金量高吗

随着科技的快速发展和行业的不断变化&#xff0c;市场对人才的需求也在不断更新。技能提升可以帮助个人适应这些变化&#xff0c;满足新的岗位要求。同时学习新技能可以拓宽思维&#xff0c;激发创新意识&#xff0c;帮助我们在工作中找到新的解决方案。 泰迪智能科技专注…

楼宇智能化仿真实训室解决方案

在信息技术的浪潮中&#xff0c;智慧城市作为未来城市发展的新形态&#xff0c;正以前所未有的速度在全球范围内兴起。其中&#xff0c;楼宇智能化作为智慧城市的关键构成&#xff0c;扮演着举足轻重的角色。它不仅提升了建筑的能源效率、安全性与舒适度&#xff0c;还促进了城…

SQL Server 端口配置

目录 默认端口 更改端口 示例&#xff1a;更改 TCP 端口 示例&#xff1a;验证端口设置 远程连接测试 示例&#xff1a;使用 telnet 测试连接 配置防火墙 示例&#xff1a;Windows 防火墙设置 远程连接测试 示例&#xff1a;使用 telnet 测试连接 默认端口 TCP/IP: …

【Github】Github 上commit后 contribution 绿格子不显示 | Github绿格子 | Github贡献度不显示

一、Github 消失的绿点 1、贡献值为什么没了&#xff1f; 2、选择要显示的贡献 如下配置 二、如何解决消失的绿点&#xff1f; 1、添加邮箱 确保邮箱的设置必须选择一个邮箱邮箱 2、git config 添加邮箱 设置邮箱如下&#xff1a; git config --local user.email 316434776…