如何使用 c# 进行并行计算
本文关键字:并行计算 何使用 | 更新日期: 2023-09-27 18:32:52
我需要评估大约 100k 个结果,然后保存在列表中,因为这样我就可以在图表上表示它。
但是只使用一个线程太长了,我决定使用多线程,但我对此一无所知。
这是我在单个线程中使用的函数:
for(int i=min;i<max;i++)
{
list.Add(evaluate(expression, i));
}
我想做这样的事情,但有多个线程。
您可能需要查看 .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
做什么,都需要是线程安全的。