首页 > 解决方案 > 当我在Java11中使用parallelStream时,为什么以及何时触发“线程限制超过替换阻塞的工作人员”

问题描述

我有一个运行了很长时间的 java11 应用程序,最近我发现这种情况每天都在发生

java.util.concurrent.RejectedExecutionException:线程限制超出替换阻塞的工作人员

我知道我不应该在其中放置太多阻塞操作,parallelStream但我应该尽我所能加速上面的代码,以便我尽快响应我的请求。

IntStream.range(0, nums).parallel().forEach((x) -> {
   IntStream.range(0, nums2).parallel().forEach((y) -> {
      IntStream.range(0, 20).parallel().forEach((z) -> {
    // do some business logic which use jni and cost cpu much ,mean rtt is about 400ms and sometimes upper99 could reach 10s.
      });
   });
});

标签: javajava.util.concurrentjava-11forkjoinpool

解决方案


推荐阅读