我确信有人知道这一点,我将非常感谢您的回答。我对委托和异步等不太了解 - 所以请给我一个如何实现的一般示例。
我有一个工作流程
我可以使用 Parallel.Foreach 同时执行许多不同文件的方法(太好了,磨掉那个处理器) -
但是,在该方法结束后,我需要运行另一个方法(它生成有关前一过程的报告),
并且第二种方法不能并行运行。
我不想等待 Parallel.ForEach 中的所有文件完成后再生成报告(这不是必需的)。但是,如果我在第一个方法结束时启动报告生成方法,那么我就会遇到问题。有某种队列之类的吗?一定有一些漂亮的方法可以做到这一点,对吧?
Thanks
我认为 Jim G 的意思是:
var lockObj = new object();
Parallel.Foreach(files, file =>
{
// Processing file
lock(lockObj)
{
// Generate report.
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)