Reputation: 21753
I am creating some custom performance counters. I will be creating tasks on a thread pool and incrementing/decrementing the counters from within multiple worker threads.
Do I need to give each thread a new counter object? Is it safe to share a performance counter object cross-thread (for increment/decrement)
Upvotes: 8
Views: 3696
Reputation: 941457
The PerformanceCounter class already uses a threadsafe wrapper, an internal class named SharedPerformanceCounter. It uses Interlocked.Increment() to increment a counter value for example.
There's no need to lock yourself.
Upvotes: 6