小编Dav*_*ave的帖子

Parallel.ForEach行为

我理解,在Parallel.ForEach循环中,每个线程可能在任何给定时间执行循环的不同部分.但是,每个线程是否按顺序执行循环中的代码?我只是在MSDN上阅读" Parallel Loops ",它说:

有时,两个步骤的顺序与循环顺序时相反.唯一的保证是所有循环的迭代都将在循环结束时运行.

说我有以下内容:

IEnumerable<MyObject> myEnumerable = ...
Parallel.ForEach(myEnumerable, obj =>
{
     A();
     B();
     C();
});
Run Code Online (Sandbox Code Playgroud)

我知道线程1可能正在执行A()线程2 C(),但是每个线程将在循环中顺序执行代码.是否线程1做A() B() C()或可能它可能做B(),C(),A()

c# multithreading parallel.foreach

3
推荐指数
1
解决办法
499
查看次数

标签 统计

c# ×1

multithreading ×1

parallel.foreach ×1