2010-02-08 12 views
20

Für ManagedThreadId, MSDN sagt:Wie einzigartig ist ManagedThreadID?

für den aktuellen verwalteten Thread eine eindeutige Kennung erhält.

In welchem ​​Kontext gilt "einzigartig"?

Ist das pro Prozess einzigartig?
Pro application domain?
Pro Maschine?
Per .NET Laufzeit? (Wenn sowohl MS.NET als auch Mono ausgeführt werden)

Antwort

18

Die Thread-ID ist pro Prozess während des Lebenszyklus eines Threads eindeutig. Nachdem der Thread beendet wurde, kann seine Nummer wiederverwendet werden.

+2

Siehe http://rocksolid.gibraltarsoftware.com/development/logging/managed-thread-ids-unique-ids-that-arent-unique für den Beweis –

2

Da Threads aus den ThreadPool auch diese Eigenschaft zu ehren hat, und es gibt eine ThreadPool pro Prozess (wie in this MSDN article angegeben), würde ich denken, dass die ManagedThreadId meist pro Prozess wahrscheinlich einzigartig ist.