springboot2.6.5 下配置ForkJoinPool线程池大小

article/2024/4/13 14:43:32

从java1.7开始,引入了parallelStream的方式使用ForkJoinPool多线程处理数据的方式,ForkJoinPool默认线程池大小是cpu内核数-1,并且可以通过以下方式配置线程池大小:

System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", PARALLE_COUNT);

但是上述配置,在springboot2.4.0下面可以生效,在springboot2.6.5下面不生效 ,通过查找原因,发现上述配置必须得在ForkJoinPool在注入之前才能生效,所以进行修改如下:

package com.copotematch.tools.datahandler.config;import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;@Configuration
public class ForkJoinPoolConfig implements BeanPostProcessor {@AutowiredEnvironment environment;@Overridepublic Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {String property = environment.getProperty("copote.match.paralles.count");if (property == null || "".equals(property)) {property = "10";}System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", property);return bean;}}

或者新增jvm参数也可以:

-Djava.util.concurrent.ForkJoinPool.common.parallelism=10


http://www.ngui.cc/article/show-1927700.html

相关文章

LeetCode: 数组中的第K个最大元素

问题描述 在未排序的数组中找到第k个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。 解题思路 解决这个问题有多种方法,下面是几种常见的解题策略: 排序后选择: 将数组排序&#xff0c…

Python核心编程之错误和异常

程序员的一生中, 错误几乎每天都在发生. 在过去的一个时期, 错误要么对程序(可能还有机器)是致命的, 要么产生一大堆无意义的输出, 无法被其他计算机或程序识别, 连程序远自己也可能搞不懂它的意义. 一旦出现错误, 程序就会终止执行, 直到错误被修正, 程序重新执行. 所以, 人们…

定义类的成员比较函数,并在类的成员函数里面调用

定义一个自定义排序规则的成员函数&#xff0c;然后在类的成员函数中调用 文章目录 1.声明为static函数2.使用function3.使用匿名函数 1.声明为static函数 #include <iostream> #include <algorithm> #include <list> class A { public:A(){std::list<i…

李修思将出席工业循环水节水减排提标降碳新技术推广及应用

演讲嘉宾&#xff1a;李修思 技术总监 山东海能环境技术有限公司 演讲题目&#xff1a;工业循环水节水减排提标降碳新技术推广及应用 会议简介 “十四五”规划中提出&#xff0c;提高工业、能源领城智能化与信息化融合&#xff0c;明确“低碳经济”新的战略目标&#xff0c;…

Semantic human matting

1.introduction 数据集包括&#xff0c;时尚模特数据集&#xff0c;超过18.8w张模特图&#xff0c;从中选出35311张图片&#xff0c;DIM数据集&#xff0c;仅包含人类的图像&#xff0c;202个前景图像&#xff0c;背景来自coco数据集和互联网&#xff0c;背景图不含人类&#x…

Vue.js+SpringBoot开发音乐偏好度推荐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 音乐档案模块2.1.2 我的喜好模块2.1.3 每日推荐模块2.1.4 通知公告模块 2.2 用例图设计2.3 实体类设计2.4 数据库设计 三、系统展示3.1 登录注册3.2 音乐档案模块3.3 音乐每日推荐模块3.4 通知公告模…

nginx使用详解--动静分离

什么是动静分离&#xff1f; 为了提高网站的响应速度&#xff0c;减轻程序服务器&#xff08;Tomcat&#xff0c;Jboss等&#xff09;的负载&#xff0c;对于静态资源&#xff0c;如图片、js、css等文件&#xff0c;可以在反向代理服务器中进行缓存&#xff0c;这样浏览器在请…

c语言:将链表数据写入到文件,将数据读入链表

#include "linklist.h" link_p createHead() { link_p H (link_p)malloc(sizeof(link)); if (H NULL) { printf("空间申请失败\n"); return NULL; } H->next NULL; H->len 0; return H; } link_p…

MinGw 64bit编译VLC-QT 64bit库

编译环境搭建 下载cmake&#xff1a; https://cmake.org/files/v3.15/ 我选择的是免安装的&#xff1a;cmake-3.15.0-rc3-win64-x64.zip&#xff0c;下载解压后&#xff0c;找到bin目录&#xff0c;添加的windows的环境变量的PATH中。 将QT MinGW编译器添加到windows的环境变量…

iOS-设置指定边圆角(左上、左下等)

以UILabel举例&#xff0c;效果图如下&#xff1a; 代码如下&#xff1a; //设置左上与右下圆角&#xff08;可自行编辑指定圆角位置&#xff09; UIBezierPath *maskPath [UIBezierPath bezierPathWithRoundedRect:_sleepStateLabel.bounds byRoundingCorners:UIRectCornerT…