Örneğin iş parçacıklarının hatalarını ayıklarken C # 'da, her bir iş parçacığının kimliğini görebilirsiniz.
Bu, yönetilen iş parçacıklarının kimliği olacaktır. ManagedThreadId
üyesidir, Thread
böylece kimliği herhangi bir Thread nesnesinden alabilirsiniz. Bu size şu anki ManagedThreadID değerini verecektir :
Thread.CurrentThread.ManagedThreadId
Bir OS iş parçacığını OS iş parçacığı kimliğiyle (ManagedThreadID değil) almak için biraz linq deneyebilirsiniz.
int unmanagedId = 2345;
ProcessThread myThread = (from ProcessThread entry in Process.GetCurrentProcess().Threads
where entry.Id == unmanagedId
select entry).First();
Yönetilen iş parçacıklarını numaralandırmanın ve ProcessThread ile İş parçacığı arasında bir ilişki bulunmadığı anlaşılıyor, bu nedenle ID tarafından yönetilen bir iş parçacığı almak zor bir iştir.
Yönetilen ve Yönetilmeyen iş parçacığı hakkında daha fazla bilgi için bu MSDN arcticle'a bakın .