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、使用自编译源代码的方式

相关推荐
Java小生不才22 分钟前
spring AI文生图
java·人工智能·spring ai
罗西的思考22 分钟前
【OpenClaw】通过 Nanobot 源码学习架构---(10)Heartbeat
人工智能·机器学习
IT_陈寒34 分钟前
我竟然被JavaScript的隐式类型转换坑了三天!
前端·人工智能·后端
love530love38 分钟前
Clink 调校指南:让 Windows CMD 拥有现代终端的便捷体验
人工智能·windows·python·cmd·clink
FrontAI5 小时前
深入浅出 LangGraph —— 第6章:工具调用与ToolNode
人工智能·langchain·ai agent·langgraph
前端DOM哥5 小时前
8 年前的老代码 + 20 刀 AI token = 我的第一款独立产品
前端·人工智能·架构
蔡大锅5 小时前
🔥 在线学习算力平台推荐-Hyper.AI
人工智能·算法
老唐7775 小时前
常见经典十大大机器学习算法分类与总结
人工智能·深度学习·神经网络·学习·算法·机器学习·ai
knight_9___5 小时前
LLM工具调用面试篇2
人工智能·python·深度学习·机器学习·agent·rag