并行搜索元组列表
本文关键字:列表 元组 并行搜索 | 更新日期: 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();