JMarsch
JMarsch

Reputation: 21753

Performance counters and threading

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

Answers (1)

Hans Passant
Hans Passant

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

Related Questions