【发布时间】:2018-09-26 19:38:36
【问题描述】:
我在单线程环境中有以下流程:
int[] ages = { 40, 30, 18, 23, 60, 24 };
for (int i = 0; i < ages.Length; i++)
{
if (ages[i] < 21) ages[i] = 0;
}
作为示例,但现在我想在 多线程环境 中执行此过程。 有没有并发集合在多线程环境下模拟数组?
【问题讨论】:
-
ConcurrentBag<T>也许 -
不完全是,ConcurrentBag 并不是为了保持索引顺序。但请注意,此代码可以并行化,而不会轻易与 ParallelFor 发生冲突。
-
ConcurrentBag
不允许按索引访问键,这是我想要归档的。
标签: c# concurrency task-parallel-library