Quelle est la meilleure façon de suivre les progrès dans les domaines suivants
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);
}});
Je veux mettre à jour la variable de progression de 0.0 à 1.0 (courant/total) mais je ne veux pas utiliser quelque chose qui aurait un effet négatif sur le parallélisme.