トップ回答者
ManagedThreadIdのスレッドIDについて

質問
回答
-
Hongliangさんが既に答えられていますが補足で。
ThreadPoolクラス及び(ThreadPoolを使用する)Taskクラスの場合、そもそも1つのスレッドを使い回すことが前提ですので、同じManagedThreadIdを頻繁に割り当てられます。
Threadクラスの場合、インスタンス毎にOSスレッドも作成され、ManagedThreadIdも新たに割り当てられます。しかしint型ですからいずれは再利用されます。ですので、再利用されないという過程をしてはいけません。
別の方法として、ManagedThreadIdを使用せずThread.Nameプロパティに独自にユニークな値を割り当てることができます。
- 回答としてマーク AzuleanMVP, Moderator 2013年7月16日 13:25
すべての返信
-
Hongliangさんが既に答えられていますが補足で。
ThreadPoolクラス及び(ThreadPoolを使用する)Taskクラスの場合、そもそも1つのスレッドを使い回すことが前提ですので、同じManagedThreadIdを頻繁に割り当てられます。
Threadクラスの場合、インスタンス毎にOSスレッドも作成され、ManagedThreadIdも新たに割り当てられます。しかしint型ですからいずれは再利用されます。ですので、再利用されないという過程をしてはいけません。
別の方法として、ManagedThreadIdを使用せずThread.Nameプロパティに独自にユニークな値を割り当てることができます。
- 回答としてマーク AzuleanMVP, Moderator 2013年7月16日 13:25