Ho incontrato .NET2 ThreadLocal<T>
e mi chiedevo se c'è un modo per accumulare i valori .Value
da tutti i thread.Come si combinano i valori di una variabile ThreadLocal <T>?
Nella libreria cpl di Microsoft ppl hanno Concurrency::combinable::combine_each
, esiste un metodo equivalente per .NET ThreadLocal
?
ThreadLocal<long> ticks = new ThreadLocal<long>();
void AddTicks(StopWatch sw)
{
ticks.Value += sw.ElapsedTicks;
}
void ReportTimes()
{
long totalTicks = /* How do I accumulate all the different values? */;
Console.WriteLine(TimeSpan.FromTicks(totalTicks));
}
Puoi modificare questo per avere un esempio di come si può usare il nuovo attributo per risolvere il problema? Penso che questa sia una buona informazione, ma un po 'scarsa. Più dettagli sarebbero davvero utili a qualcuno che viene in SO. –