并行搜索元组列表

本文关键字:列表 元组 并行搜索 | 更新日期: 2023-09-27 18:29:11

我有一个元组形式的整数元组(1000)的大列表。我该如何做列表。查找和并行搜索列表?我正在搜索元组的两个部分(即左元素和右元素)。

如有任何帮助,我们将不胜感激。

并行搜索元组列表

从逻辑上将您的列表拆分为块。给每个线程一个子列表进行搜索。如果使用数组(从示例的角度来看)会更容易,因为您可以在数组中指定允许每个线程搜索的边界。

例如,如果你有3个线程和一个长度为n的数组。你可以让第一个线程在0-n/3的元素中搜索;第二线程从n/3搜索到2*n/3;第三线程从2*n/3搜索到n。

注意:有3个搜索线程并不意味着搜索是并行进行的。您的机器上可能没有可用的3核/CPU。

如果list是集合的名称,而x是您正在搜索的值,则应该这样做(假设您使用的是.net 4.0):

var result = list.AsParallel().Where(tuple => tuple.Item1 == x).ToList();