parallelStream()使用注意点

parallelStream()使用中的注意点:

1、并行流如果使用,最好使用自定义的线程池,避免使用默认的线程池,以免千万阻塞或者资源竞争等问题。

2、parallelStream适用的场景是CPU密集型的,假如本身电脑CPU的负载很大,那还到处用并行流就无法起到作用,切记不要再parallelStream操作中使用IO流

3、不要在多线程中使用parallelStream,因为大家都在抢占CPU,是不会提升效果,反而可能加大线程之间切换上下文的开销。

Runtime.getRuntime.availableProcessors()是JDK提供的获取当前系统的可能核心数,而现在多数应用是发布在容器中的,虽然部署的容器是2C4G的,但是ForkJoinPool创建的FokJoinPool可能会创建出几十个线程,因为程序部署在docker容器中,那么获取的是宿主机的CPU核心数。

容器明明分配的是2C,为什么java获取的会是物理机的核心数呢?怎么解决这个问题呢?

1、使用JDKu131以上的版本

2、使用自编译源代码的方式

相关推荐
新缸中之脑几秒前
用AI编码代理写YouTube描述
人工智能
天一生水water1 分钟前
LangChain的智能体教程
开发语言·人工智能·langchain·php·智慧油田
KvPiter4 分钟前
《solopreneur》 从零到一 第 3 期
人工智能
Eloudy5 分钟前
CHI 开发备忘 05 记 -- CHI spec 05 互连协议流程
人工智能·ai·arch·hpc
AC赳赳老秦8 分钟前
DeepSeek多模态Prompt优化:贴合2026技术趋势的精准指令设计方法
大数据·人工智能·自然语言处理·架构·prompt·prometheus·deepseek
syugyou16 分钟前
HMM 和 CRF 的比较与应用
人工智能
Flying pigs~~19 分钟前
机器学习之线性回归
人工智能·算法·机器学习·数据挖掘·回归·线性回归
草莓熊Lotso20 分钟前
Ext 系列文件系统核心:块、分区、inode 与块组结构详解
android·linux·c语言·开发语言·c++·人工智能·文件
有点心急102125 分钟前
SQL 执行 MCP 工具开发(一)
人工智能·python·aigc
清风与日月27 分钟前
OpenCV 图像显示高级技巧和常见问题
人工智能·opencv·计算机视觉