首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Parallel.Foreach中调用方法并将结果保存到线程安全列表中

,可以通过以下步骤实现:

  1. 创建一个线程安全的列表,用于保存方法的结果。在C#中,可以使用ConcurrentBag<T>类来实现线程安全的列表操作。
  2. 使用Parallel.Foreach循环遍历需要调用的方法。Parallel.Foreach会自动将遍历的集合分割成多个任务,并行执行。
  3. 在循环中调用方法,并将结果保存到线程安全列表中。确保在每个线程中使用线程安全的方式将结果添加到列表中,以避免多个线程同时修改列表导致的冲突。

以下是一个示例代码:

代码语言:txt
复制
using System;
using System.Collections.Concurrent;
using System.Threading.Tasks;

class Program
{
    static void Main()
    {
        // 创建线程安全列表
        ConcurrentBag<int> results = new ConcurrentBag<int>();

        // 创建需要调用的方法集合
        int[] numbers = { 1, 2, 3, 4, 5 };

        // 使用Parallel.Foreach循环并行调用方法
        Parallel.ForEach(numbers, number =>
        {
            // 调用方法并将结果保存到线程安全列表中
            int result = YourMethod(number);
            results.Add(result);
        });

        // 输出结果
        foreach (int result in results)
        {
            Console.WriteLine(result);
        }
    }

    // 示例方法,根据需求自行替换
    static int YourMethod(int number)
    {
        // 在这里编写你的方法逻辑
        return number * 2;
    }
}

在上述示例中,我们使用Parallel.Foreach循环并行调用YourMethod方法,并将结果保存到线程安全列表results中。最后,我们遍历results列表并输出结果。

请注意,以上示例中的YourMethod方法仅作为示例,你需要根据实际需求替换为你自己的方法。另外,你可以根据具体情况选择合适的并行处理方式,如Parallel.For、Parallel.Invoke等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券