当我在Java11中使用parallelStream时,为什么以及何时触发“超出线程限制替换阻止的工作程序”

时间:2019-06-12 02:50:02

标签: java java.util.concurrent java-11 forkjoinpool

我有一个运行了很长时间的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.
      });
   });
});

0 个答案:

没有答案