ThreadPoolTaskExecutor异常收集
2024-08-27 02:37:56
ThreadPoolTaskExecutor ipFinderThreads = new ThreadPoolTaskExecutor();
ipFinderThreads.setCorePoolSize(20);
ipFinderThreads.setMaxPoolSize(3000);
ipFinderThreads.setKeepAliveSeconds(0);
ipFinderThreads.setQueueCapacity(100);
经过多次的尝试和实践。至少明白的工作方式。
ThreadPoolTaskExecutor 优先创建 CorePoolSiz 线程, 当继续增加线程是,先放入Queue中,当 CorePoolSiz 和 Queue 都满的时候,就增加创建新线程,当线程达到MaxPoolSize的时候,就会抛出错误 org.springframework.core.task.TaskRejectedException
另外如何MaxPoolSize 设定 比 系统native thread个数要大的话,会优先抛出java.lang.OutOfMemoryError: unable to create new native thread
所以大家需要小心使用线程。这样的错误非常难分析i
另外进过分析 32位操作系统,支持的线程个数 一般 在 5000左右,具体需要通过代码测试在知道。
最新文章
- Flux Demo解析
- Spark工程开发常用函数与方法(Scala语言)
- $.ajax获取不到数据问题解决
- C/C++求职宝典21个重点笔记
- make clean vs make clobber
- JAVA 对象拷贝
- 眼花缭乱的UI,蓝牙位于何方
- 单词方阵 洛谷 P1101
- 增强遍历和Object多参数遍历
- js面向对象的理解
- 微信公众平台开发,图文回复、access_token生成调用、以及微信SDK的实现(2)
- HTTP 学习心得
- Perl流程控制语句
- loadrunner笔记(一):下载、安装loadrunner和负载压力测试概念说明
- jquery查找筛选器
- 移动端二三事【三】:transform的矩阵(matrix)操作、transform操作函数及注意事项
- Libjingle库 综述
- CTF-练习平台-Misc之 这么多数据包
- Elasticsearch学习(5) Elasticsearch+logstash +filebeat+log4j的日志系统
- python3入门之赋值语句介绍