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

相关推荐
非优秀程序员17 分钟前
第12章 烧钱无底洞!!!不烧就死,烧了也不知道啥时候死|《互联网产品恩仇录》
人工智能
Zelman9451 小时前
第06章-交互与观察动作空间
人工智能
冬奇Lab1 小时前
开源项目第258期:Harness² —— Google Research 的「递归式 Agent Harness 优化」,模型权重不动,只改 Agent 的外壳
人工智能·开源
字节跳动视频云技术团队3 小时前
每两家头部手机厂商就有一家选它:火山引擎如何成为 AI 手机助手的“隐形底座”?
人工智能
泯泷3 小时前
像项目经理一样指挥 AI 团队:管理者模式
人工智能·llm·agent
京东云开发者3 小时前
双11囤Token火了:京东搜索量暴涨7倍,AI生产力成新刚需
人工智能
ahccqw4 小时前
OpenCV 车辆数量统计
人工智能·opencv·计算机视觉
人工智能AI技术4 小时前
LangGraph 本地 build 频频翻车,最终在服务器跑通流式对话
人工智能
Flynn Liang4 小时前
同一需求三套写法:用 Spring AI、LangChain4j、AgentScope Java 各实现一个带工具调用的 RAG 助手(实战对比)
java·人工智能·大模型·架构设计·spring ai·langchain4j·agentscope