中止具有给定结果的 RecursiveTask?

Abort a RecursiveTask with a given result?

我面临以下问题:

我确实在 RecursiveAction 的帮助下对 ConcurrentHashMap 进行了交互,以划分和征服地图。

问题是我需要 return 针对特定条件找到的第一个结果,或者如果没有找到任何结果,我需要 return 当所有 "split-tasks" 完成后为 null。

目前(由于我使用的是 RecursiveAction 而不是 RecursiveTask)我只能调用一个方法并在任务找到匹配项时执行 "return;",但这闻起来很糟糕。

我尝试实现 RecursiveTask 的所有解决方案都需要遍历整个地图(进行所有拆分),直到我可以 return 一个值。

是否有可能 return 给定结果并取消任务以防止使用 RecursiveTask 进行进一步处理?

也许这个旧的 SO answer 会有所帮助。这是 "short circuit" 的一种形式,您需要自己完成所有操作。或者您可以使用另一个包。