C#多线程并发算法

用户名

我有一个列表中的对象列表。该列表可以包含少至一个或多达500个条目。我也有一个线程,该线程采用此列表以顺序方式处理这些对象。

为了加快处理速度,我需要将此列表拆分为多个线程以进行并发处理,并同时控制同时运行多少个线程。

拆分此列表并将较小的列表传递给线程以进行并发处理并控制活动线程总数的最佳方法是什么?

聊天

使用并行的foreach循环听起来很完美。

根据定义:

并行的ForEach循环提供标准顺序的foreach循环的并行版本。每次迭代都会处理集合中的单个项目。但是,循环的并行性质意味着可能在不同的处理器或处理器内核上同时执行多个迭代。这打开了同步问题的可能性,因此该循环非常适合每次迭代彼此独立的进程。

查看有关Parallel.ForEach的.NET文档以及一些示例,以了解其工作原理。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章