c# - 如何在 C# 中控制并行 For 循环的 FileWrite?
问题描述
我有一个在循环中从外部函数调用的方法。此方法在每次调用时生成一个列表并写入文件。伪代码如下
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 循环。在这种情况下,我将无法控制可以进行计数检查并一次重置列表的线程。
请提出一种方法,以便无论 InnerMethod() 是通过顺序 for 还是 parallelFor 调用,我都可以将这个文件写入批处理。
解决方案
推荐阅读
- php - 找出 PHP 中正则表达式的解决方案
- java - 为什么 Intellij 终端中有 Java 11?
- wordpress - 有没有办法根据 Rev Slider 的幻灯片更改 Wordpress 页面的正文类?
- python - 如何根据特定列的值复制 DataFrame 的行?
- angular - 具有预先输入的动态材料自动完成选项
- java - 多对多关系查询JPA的问题
- python - pygeoapi 中的创建、更新和删除操作
- jupyter-notebook - jupyter notebook 显示 html 代码但未在浏览器中打开
- ios - 双击集合视图单元格时如何使图像可见?
- angular - API调用后Angular应用程序不更新列表