使用ForkJoin在立方体(3D-维度)中搜索字符串是一个不错的选择?

使用ForkJoin在立方体(3D-维度)中搜索字符串是一个不错的选择?

问题描述:

我正在做并行编程项目。要求是搜索立方体晶格中的字符串列表(3D维度,最大值为1000个元素)。列表的最大尺寸为1000,字符串的最大长度为100.使用ForkJoin在立方体(3D-维度)中搜索字符串是一个不错的选择?

我创建了3个ForkTask:在Z维(NxN 2D阵列)中以X维(NxN 2D阵列)搜索Z - 维(NxN 2D阵列)。对于每个任务,我开始在2D数组中搜索字符串,并为此创建一个ForkTask。我有一个函数来搜索2D数组中的字符串。

我看到我有很多ForkTask以及线程。为了提高搜索性能和缩短时间,我检查如果task.join()为true,我将取消其余的任务。

这是一个明智的做法吗?任何人都可以给我任何建议或建议或建议吗?

谢谢

+0

你想获得援助或指导吗? –

+0

我可以做的任何事情。其实,援助,指导或帮助==帮助:) – xuongrong

确定什么是你的项目工作。比方说,在一个维度上搜索是一项工作。实现你的作业一个可运行的程序并在Executor中执行它们。 http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html 如果超过3个核心,您也可以为每个维度的每个切片使用作业。如果你的工作非常快(不到10μs),你的工作队列的开销可能太大了。