我遇到过 .NET 4 ThreadLocal<T>
,想知道是否有办法.Value
从所有线程中累积值。
在他们拥有的 Microsoft 的 ppl C++ 库中Concurrency::combinable::combine_each
,是否有 .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));
}