我正在使用 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 有一种更干净的方法来杀死分支或兄弟姐妹。
不会。一旦开始,就会完成或出现错误/异常。
您必须自己编写取消程序。也就是说,将一个易失性布尔值传递给每个任务,准备好后将布尔值设置为 true(取消)。每个任务都可以测试布尔值是否为真,然后立即停止。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)