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

相关推荐
阿正的梦工坊16 分钟前
深入理解 PyTorch 中的 unsqueeze 操作
人工智能·pytorch·python
秦歌6662 小时前
DeepAgents框架详解和文件后端
人工智能·langchain
测试员周周3 小时前
【Appium 系列】第06节-页面对象实现 — LoginPage 实战
开发语言·前端·人工智能·python·功能测试·appium·测试用例
霸道流氓气质3 小时前
基于 Milvus Lite 的 Spring AI RAG 向量库实践方案与示例
人工智能·spring·milvus
ar01233 小时前
AR巡检平台:构筑智能巡检新模式的数字化引擎
人工智能·ar
语音之家3 小时前
【预讲会征集】ACL 2026 论文预讲会
人工智能·论文·acl
碳基硅坊3 小时前
电商场景下的商品自动识别与辅助上架
人工智能
熊猫钓鱼>_>3 小时前
强化学习与决策优化:从理论到工程落地的完整指南
人工智能·llm·强化学习·rl·马尔可夫·mdp·决策过程
-柚子皮-3 小时前
强化学习DPO算法
人工智能