Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用ForkJoin在多维数据集中搜索字符串(三维尺寸)是一个不错的选择?_Java_Multithreading_Parallel Processing_Threadpool_Fork Join - Fatal编程技术网

Java 使用ForkJoin在多维数据集中搜索字符串(三维尺寸)是一个不错的选择?

Java 使用ForkJoin在多维数据集中搜索字符串(三维尺寸)是一个不错的选择?,java,multithreading,parallel-processing,threadpool,fork-join,Java,Multithreading,Parallel Processing,Threadpool,Fork Join,我正在做并行编程项目。要求是在立方体晶格中搜索字符串列表(三维尺寸,最大为1000个元素)。列表的最大大小为1000,字符串的最大长度为100 我创建了3个ForkTask:在X维(NxN 2D数组)、Y维(NxN 2D数组)和Z维(NxN 2D数组)中搜索。对于每个任务,我开始在2D数组中搜索字符串,并为此创建一个ForkTask。我有一个在2D数组中搜索字符串的函数 我看到我有很多任务和线程。为了提高搜索性能和减少时间,我检查了一个task.join()是否为true,我将取消其余的任务 这

我正在做并行编程项目。要求是在立方体晶格中搜索字符串列表(三维尺寸,最大为1000个元素)。列表的最大大小为1000,字符串的最大长度为100

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

我看到我有很多任务和线程。为了提高搜索性能和减少时间,我检查了一个task.join()是否为true,我将取消其余的任务

这是明智的做法吗?谁能给我任何建议或建议


谢谢

确定项目中的工作是什么。比方说,一维搜索是一项工作。在runnables中实现作业,并在Executor中执行它们。
如果有3个以上的核心,您还可以为每个维度的每个部分使用一个作业。如果作业速度非常快(低于10µs),则作业队列的开销可能太大

你需要帮助、指导或帮助吗?我能做的任何事。实际上,援助、指导或帮助==帮助:)