跟踪以下进度的最佳方法是什么
long total = Products.LongCount();
long current = 0;
double Progress = 0.0;
Parallel.ForEach(Products, product =>
{
try
{
var price = GetPrice(SystemAccount, product);
SavePrice(product,price);
}
finally
{
Interlocked.Decrement(ref this.current);
}});
我想将进度变量从 0.0 更新为 1.0(当前/总计),但我不想使用任何会对并行性产生不利影响的东西。