中止具有给定结果的 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" 的一种形式,您需要自己完成所有操作。或者您可以使用另一个包。
我面临以下问题:
我确实在 RecursiveAction 的帮助下对 ConcurrentHashMap 进行了交互,以划分和征服地图。
问题是我需要 return 针对特定条件找到的第一个结果,或者如果没有找到任何结果,我需要 return 当所有 "split-tasks" 完成后为 null。
目前(由于我使用的是 RecursiveAction 而不是 RecursiveTask)我只能调用一个方法并在任务找到匹配项时执行 "return;",但这闻起来很糟糕。
我尝试实现 RecursiveTask 的所有解决方案都需要遍历整个地图(进行所有拆分),直到我可以 return 一个值。
是否有可能 return 给定结果并取消任务以防止使用 RecursiveTask 进行进一步处理?
也许这个旧的 SO answer 会有所帮助。这是 "short circuit" 的一种形式,您需要自己完成所有操作。或者您可以使用另一个包。