当然,我可以为您提供一个C#并行编程的示例。在C#中,使用`System.Threading.Tasks`命名空间下的`Parallel`类和`Task`类是实现并行编程的常用方式。以下是一个简单的示例,演示了如何使用`Parallel.For`来并行执行一个循环:
using System;
using System.Threading.Tasks;
class Program
{
static void Main(string[] args)
{
// 定义一个数组,用于存储并行计算的结果
int[] results = new int[10];
// 使用Parallel.For并行执行循环
Parallel.For(0, 10, (i) =>
{
// 模拟耗时操作,比如计算平方
int square = (int)Math.Pow(i, 2);
// 将结果存储在数组中
results[i] = square;
// 打印当前线程的ID,以展示并行执行
Console.WriteLine($"计算 {i} 的平方,结果:{square},线程ID:{Task.CurrentId}");
});
// 等待所有并行任务完成
Console.WriteLine("所有计算完成。");
// 输出结果,验证并行执行
foreach (var result in results)
{
Console.WriteLine(result);
}
}
}
在这个示例中,`Parallel.For`用于并行执行一个从0到9的循环。循环体内的操作是计算当前索引的平方,并将结果存储在数组中。同时,通过打印当前线程的ID,可以观察到并行执行的效果。最后,通过遍历数组来输出所有计算结果,以验证并行执行的正确性。
请注意,由于并行执行的不确定性,每次运行时打印的线程ID和顺序可能会有所不同。此外,为了简化示例,这里没有处理并行执行中可能出现的线程安全问题(在这个简单的示例中,由于每个线程操作的是数组中的不同元素,因此不存在线程安全问题)。在实际应用中,如果并行操作涉及到共享资源的访问,需要采取适当的同步机制来确保线程安全。