Я использую Parallel.ForEach
для большого количества заданий.Parallel.ForEach, как проверить процесс?
Я хочу знать, как идет процесс.
Так в настоящее время я писал:
int processCnt=0;
Parallel.ForEach(allJobs, myPallOption, (oneJob) =>
{
processCnt++;
Console.WriteLine("Job#"+processCnt+"/"+totalCnt);
doJob(oneJob);
}
Но я думаю, что processCnt++;
будет заблокирован каким-то образом, и это не может быть хорошей идеей. Это может замедлить процесс.
Итак, есть ли лучший способ узнать, сколько работ уже выполнено?
Меня не волнует точность processCnt
, Я просто хочу более высокую скорость. Я думаю, что processCnt++
может иметь более низкую производительность.
Будет ли downvoter объяснять, что я сказал не так? –