【发布时间】:2013-04-04 16:17:12
【问题描述】:
我有一个将在 Parallel.Foreach 中使用的异步方法。在异步方法中有等待任务。 但是,在测试中,似乎没有等待行为,等待任务没有完成。有什么问题?下面是代码。
public void method1()
{
Ilist<string> testList = new IList<string>(){"1","2","3"};
Parallel.ForEach(testList, ()=>
{
method2();
});
}
public async void method2()
{
await Task.run(()=>{ some other codes here });
}
【问题讨论】:
-
这是这个问题的措辞更好的问题,但它的欺骗有最好的答案:stackoverflow.com/a/11565317/176877
-
不是这样:代码示例表明 OP 关于 async-await 和 TPL 的假设从一开始就存在缺陷,只会混淆问题。
标签: c# async-await task-parallel-library parallel.foreach