Parallel.For 条件语句
Parallel.For Conditional Statement
我正在 运行 在 Parallel.For 循环中进行模拟,但我需要在一段时间后停止,即使它没有 运行 所有迭代。
我需要能够在 Parallel.For 中执行以下操作。
for(int i = 0; i < 1_000_000 || DateTime.Now.Subtract(StartTime) >= MaxDuration; i++)
{
// do the thing
}
正如 Heinzi 在评论中提到的,调用 ParallelLoopState.Break() 在检查条件后有效
Parallel.For(1, 1_000_000, (i, state) =>
{
//do the thing
if (DateTime.Now-startTime>=maxDuration)
{
state.Break();
}
});
我正在 运行 在 Parallel.For 循环中进行模拟,但我需要在一段时间后停止,即使它没有 运行 所有迭代。
我需要能够在 Parallel.For 中执行以下操作。
for(int i = 0; i < 1_000_000 || DateTime.Now.Subtract(StartTime) >= MaxDuration; i++)
{
// do the thing
}
正如 Heinzi 在评论中提到的,调用 ParallelLoopState.Break() 在检查条件后有效
Parallel.For(1, 1_000_000, (i, state) =>
{
//do the thing
if (DateTime.Now-startTime>=maxDuration)
{
state.Break();
}
});