设置并行流最大线程数
发表于|更新于
|浏览量:
做你自己,因为别人都有人做了。——王尔德
我们可以使用如下方式获取并行流线程数
如果我们需要更改,则可以设置系统属性:
1 | System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "8"); |
例如此处设置为8
则再次获取

可以看到是8个子线程+1个主线程,也就是9个线程
还可以使用ForkJoinPool.getCommonPoolParallelism()直接获取ForkJoinPool中允许设置的最大线程数
相关推荐
2023-05-23
获取图片dpi
在只能说谎与沉默两者来选择的时候,沉默也是好的。——何其芳 可以通过下面的代码获取: 123ImageInfo imageInfo = Imaging.getImageInfo(file);imageInfo.getPhysicalWidthDpi();imageInfo.getPhysicalHeightDpi(); 对应的依赖: 12345<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-imaging</artifactId> <version>1.0-alpha3</version></dependency> 用的是apache-commons的commons-imaging这个库 https://commons.apache.org/proper/commons-imaging/index.html
2024-03-01
xcode报错SDK does not contain 'libarclite' at the path
希望是附丽于存在的,有存在,便有希望,有希望,便是光明。 —— 鲁迅 今天报错: 123SDK does not contain 'libarclite' at the path '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a'; try increasing the minimum deployment target 解决方式,下载: https://github.com/kamyarelyasi/Libarclite-Files/blob/main/libarclite_iphoneos.a 放到 1/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc 即可
2024-12-12
websocket关闭指定原因
如果没有宽恕之心,生命会被无休止的仇恨和报复所支配。——阿萨吉奥 WebSocket 是一种轻量级、双向的实时通信协议,在现代 Web 应用中非常流行。它为客户端和服务端提供了长连接能力,适用于需要频繁数据交互的场景。然而,在实际开发中,我们经常需要处理 WebSocket 的关闭事件,而 关闭状态(CloseStatus) 是其中一个重要的概念,它能够帮助开发者理解连接关闭的原因,从而采取相应的措施。 什么是 CloseStatus?在 WebSocket 协议中,每次连接关闭都会携带一个 关闭码(close code) 和可选的 关闭原因(reason phrase)。这些关闭码由 RFC 6455 定义,表示连接关闭的原因。例如: 1000 (Normal Closure): 正常关闭,表示连接完成。 1001 (Going Away): 客户端或服务端主动断开(例如页面关闭)。 1002 (Protocol Error): 协议错误。 1003 (Unsupported Data): 不支持的数据类型。 在 Spring Framework 中,org.sprin...
2021-04-11
更换默认序列化器
一个人至少拥有一个梦想,有一个理由去坚强。——三毛 springboot默认使用jackson进行序列化 如果我们想使用fastJson 则可以注入一个HttpMessageConverters 1234@Beanpublic HttpMessageConverters fastJsonHttpMessageConverters(){ return new HttpMessageConverters(new FastJsonHttpMessageConverter());} 我们测试一下 给我们的bean中属性keywords加上注解@JSONField(name = "keyword") 我们传值使用keyword,发现成功接收
2021-04-01
多模块install时报包不存在
想升高,有两样东西,那就是必须作鹰,或者作爬行动物——巴尔扎克 今天发现一个坑 就是明明项目能正常运行,install一直报错说包找不到不存在 我一看这个包是依赖的另一个common模块,它是一个springboot工程 我就算install了common模块没报错,我这里仍然报错找不到包,看target目录里确实又存在 思来想去摸不着头脑,于是查阅百度,最后找到了解决方案 在common模块中的pom.xml找到spring-boot-maven-plugin配置的地方 如果没有,则自己新建一个 标签层级为**project=>build=>plugins=>plugin** 找到artifactId为spring-boot-maven-plugin的这层 加上配置<classifier>exec</classifier>即可 123<project> <build> <plugins> 123456789101112131415161718<p...
2020-06-07
HashMap
HashMap是由数组和链表组合构成的数据结构。 大概如下,数组里面每个地方都存了Key-Value这样的实例,在Java1.7叫Entry,在Java1.8中叫Node。 因为它本身所有位置都为null,在put插入的时候会根据key的hash去计算一个index值。 就比如我put(”rubenwei”,666),我插入了为”rubenwei”的元素,这个时候我们会通过哈希函数计算出插入的位置,如果计算出来index是2,那就放在第三个位置 但我们知道数组长度是有限的,在有限的长度里面我们使用哈希,哈希本身就存在概率性,就是”rubenwei”和“ruben”我们都去hash有一定的概率计算出来的hashcode是重复的,这时候如果put“ruben”就会在当前entry节点下形成一个链表用于存放hashcode一样的这些元素 每一个节点都会保存自身的hash、key、value以及(next)下个节点 java8之前采用头插法,原有的值顺推到链表中去,新来的值变成链表表头,是因为代码作者认为新来的值会被查找的可能性大一点,为了提升查找的效率设计的 java8之后改用尾插法,...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog