Di C # saat men-debug thread misalnya, Anda dapat melihat setiap ID utas.
Ini akan menjadi Id dari thread yang dikelola. ManagedThreadId
adalah anggota Thread
agar Anda dapat memperoleh ID dari objek Thread apa pun . Ini akan memberi Anda ManagedThreadID saat ini :
Thread.CurrentThread.ManagedThreadId
Untuk mendapatkan utas OS dengan ID utas OS (bukan ManagedThreadID) , Anda dapat mencoba sedikit linq.
int unmanagedId = 2345;
ProcessThread myThread = (from ProcessThread entry in Process.GetCurrentProcess().Threads
where entry.Id == unmanagedId
select entry).First();
Tampaknya tidak ada cara untuk menghitung utas yang dikelola dan tidak ada hubungan antara ProcessThread dan Utas, jadi mendapatkan utas yang dikelola oleh ID itu adalah yang sulit.
Untuk detail lebih lanjut tentang threading Managed vs Unmanaged lihat arcticle MSDN ini .