我们可以使用批量大小未知的ForkJoinPool实现来对它进行“加入”吗?

时间:2019-02-27 07:28:21

标签: java threadpoolexecutor forkjoinpool

这是我第一次接触ForkJoinPool,我想了解是否可以将现有的ExecutorService实现转换为ForkJoinPool实现? 场景: 我的应用程序需要对多个线程执行两项操作:

  • 第一个操作执行的一些数据复制可以在并行线程中进行,而不会破坏功能。 [看起来有资格成为类似FORK的子任务]

  • 第二个操作执行服务器重启,只有在最后一个线程完成数据复制后才能请求服务器重启。如果先前请求的重新启动仍在发生,则当前基础服务器应用程序会处理拒绝重复的重新启动请求的逻辑。 [我正在尝试确定是否可以将其实现为JOIN子任务?]

在当前的实现中,我们为每个线程独立执行两个步骤,但是频繁的重启请求具有一定的风险。

问题:

  1. 我不知道是否可以完成ForkJoinPool实现,如果我们不知道需要结合多少个活动/运行线程。
  2. 如果我们不知道会有多少这样的请求,我们应该在什么条件下“等待”加入?
  3. 我应该看看CountDownLatch实现吗?

0 个答案:

没有答案