java分支/连接杀死同级/分支
我使用Fork/Join递归地搜索问题的解决方案
/——----1------\
/--1.1--\ /--1.2--\
1.1.1 1.1.2 1.2.1 1.2.2
现在假设我在1.2.1中找到了解决方案。有没有办法取消forkjoin池中的所有其他进程
如果我知道1.1和1.2都包含一个潜在的解决方案,那么我只想取消我的兄弟姐妹(以及他们可能产生的任何子分支),会怎么样
我可以使用一些共享对象标志,但我希望Fork/Join有一种更干净的方法来杀死分支或兄弟
# 1 楼答案
否。一旦开始,它就进入完成或错误/异常状态
你必须自己编程取消。也就是说,将一个可变布尔值传递给每个任务,当准备就绪时,将布尔值设置为true(取消)。每个任务都可以测试布尔值是否为真,然后立即停止