问题描述
我有一个在循环中从外部函数调用的方法,该方法在每次调用时都会生成一个列表并写入文件。伪代码如下
Public Class MyClass
{
OuterMethod()
{
For(//n number of iteration){Call InnerMethod())}
}
InnerMethod()
{
var a = new List<Data>
for(//x number of iteration){
a.Add(data);
}
WriteToFile(a);
}
现在,我想限制WriteToFile调用。我想分批处理(例如500和可配置)。在这种情况下,我可以在类级别声明列表,并在写入之前通过innetrmethod和checkforcount传递批处理计数,然后清除列表以从InnerMethod()调用的下一次迭代重新生成批处理。当循环是顺序的时,这解决了我的问题。
现在,考虑到将InnerMethod()称为ParallelFor循环的情况。在这种情况下,我将无法控制可以执行一次计数检查并一次重置列表的线程。
请提出一种方法,以便无论通过顺序for或parallelFor调用InnerMethod()都可以批量写入此文件。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)