【发布时间】:2017-03-12 11:35:06
【问题描述】:
我正在实现一个 DFS 来寻找迷宫的出口,目前它是单线程的。
我计划通过创建多个使用相同的单线程算法搜索树的线程来提高效率,但是当遇到交叉路口时,我会随机选择哪个方向。
例如,线程遇到可以向东或向西移动的交叉点。他们一半去东方,一半去西方。这一直持续到其中一个线程找到解决方案路径。
这是以并行方式实现 DFS 的有效方式吗?
【问题讨论】:
-
迷宫会有循环吗?
-
没有循环或循环
-
这将是一个搜索,应该可以正常工作。根据标准定义,它不会是 DFS,但这没关系。如果迷宫是一棵树,那么实现起来非常简单。如果是图表,那么同步就变得很重要。
标签: java multithreading optimization concurrency parallel-processing