如何使用 c# 进行并行计算

本文关键字:并行计算 何使用 | 更新日期: 2023-09-27 18:32:52

我需要评估大约 100k 个结果,然后保存在列表中,因为这样我就可以在图表上表示它。

但是只使用一个线程太长了,我决定使用多线程,但我对此一无所知。

这是我在单个线程中使用的函数:

for(int i=min;i<max;i++)
{
    list.Add(evaluate(expression, i));
}

我想做这样的事情,但有多个线程。

如何使用 c# 进行并行计算

您可能需要查看 .NET Framework 4 中的任务并行库 (TPL) 和并行编程

TPL 的目的是通过以下方式提高开发人员的工作效率 简化将并行性和并发性添加到 应用。TPL 动态扩展并发程度 最有效地使用所有可用的处理器。在 此外,TPL 处理工作的分区、调度 线程池上的线程数、取消支持、状态管理、 和其他低级细节。通过使用 TPL,您可以最大化 代码的性能,同时专注于程序的工作 旨在完成。

也许这样的事情可以帮助你。

var max = 100;
var min = 20;
var list = new MyResult[max - min];
Parallel.For(min, max, i =>
{
    list[i - min] = evaluate(expression, i);
});

请注意,无论evaluate做什么,都需要是线程安全的。