您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
在C#中,可以使用Task
类和Parallel.ForEach
方法来实现方法的并行处理
首先,确保已经安装了System.Threading.Tasks包。如果没有安装,请在项目中添加对它的引用。
创建一个静态方法,该方法将并行处理一组数据。例如,我们可以创建一个名为ProcessNumbers
的方法,该方法接受一个整数列表并返回每个数字的平方值列表。
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
class Program
{
static void Main(string[] args)
{
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
List<int> squaredNumbers = ProcessNumbers(numbers);
Console.WriteLine("Squared numbers:");
foreach (int number in squaredNumbers)
{
Console.WriteLine(number);
}
}
static List<int> ProcessNumbers(List<int> numbers)
{
// 创建一个任务列表,用于存储每个数字的平方任务
List<Task<int>> tasks = new List<Task<int>>();
// 遍历数字列表,为每个数字创建一个并行处理任务
foreach (int number in numbers)
{
Task<int> task = Task.Run(() => SquareNumber(number));
tasks.Add(task);
}
// 等待所有任务完成,并将结果收集到一个新的列表中
List<int> squaredNumbers = new List<int>();
foreach (Task<int> task in tasks)
{
squaredNumbers.Add(task.Result);
}
return squaredNumbers;
}
static int SquareNumber(int number)
{
return number * number;
}
}
在这个示例中,我们首先创建了一个名为ProcessNumbers
的静态方法,该方法接受一个整数列表作为参数。然后,我们使用Task.Run
方法为列表中的每个数字创建一个并行处理任务,并将这些任务添加到一个名为tasks
的任务列表中。最后,我们遍历任务列表,等待所有任务完成,并将结果收集到一个新的列表中。
注意:在实际应用中,你可能需要根据具体需求调整代码,例如使用async/await
关键字简化异步操作,或者使用Parallel.ForEach
方法直接处理集合。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。