如何让多个线程在同一个图表上工作?

时间:2016-09-26 06:24:18

标签: multithreading graph-theory

所以我正在尝试创建一个非常大的扫雷游戏,我将整个地图存储在一个容器中,可能是一个2D数组。在Minesweeper中,当您显示一个空白图块时,所有8个相邻的图块都会被显示,如果其中一个是空白图块,则邻居会被显示,因此整个事件都是递归的。

对于非常大的地图,这很容易升级,因此整个算法的完成时间过长。我想使用线程并行显示切片,但如果所有线程都访问同一个图形,那么我将不得不使用锁。几乎每个线程都会坐在那里等待他们轮流访问地图,而我真的希望它能够并行完成。

我的问题是,你如何多线程访问图表的算法,例如BFS?你是否对图表进行分区,然后每个分区有一个线程?或者你只是继续使用锁?我对一般理论很感兴趣,所以如果有人有任何好的阅读材料的链接,我也很想看看那些(希望我能理解它!)。

0 个答案:

没有答案