0
我想实现的东西,如:C#并行多任务
创建一批蒙戈的查询
对于每个查询,得到的反序列化蒙戈数据设置为
ObjectA
所有
ObjectA
映射到ObjectB
列表(需要给予一定的时间,我们正在与几百万对象的工作)当映射完成,upserts所有
ObjectB
(中环),以一个新的蒙戈DB/collection(也需要一些时间),并开始读取/映射下一个数据用,如果一个查询设置接下来的映射是最后蒙戈UPSERT结束前完成,等待它完成,然后开始编写数据设置为蒙戈
现在,我一直在Task
玩弄的时候,我觉得它的方式去,但我很难得到如何做到这一点。
我应该运行2个任务数组吗?
如何创建一个“取/图任务”和“写入MONGO任务”之间的“依赖”?
任何帮助表示感谢,谢谢!
可以使用WaitHandle基类作为ManualResetEvent类对象实例,例如 –
当我阅读它时需要某种同步以避免赛车条件。这使得无法执行多线程,因为您希望避免在将前一个对象插入到新数据库之前完成下一个对象?我现在唯一能想到的或者正在做的就是用Parallel.for(每个)进行映射,并设置保留顺序的选项。但是“插入”必须以任何方式完成。 – woutervs
实际上,“插入”不需要按顺序完成。我可以使用多线程,但它会导致内存消耗问题,因为我必须将大量数据传递给线程。 @ArturMustafin:我会研究一下,可能是一种可能性。 – LaurentH