Ответ 1
Идентификатор потока уникален для каждого процесса в течение жизненного цикла потока. После окончания потока его номер может быть повторно использован.
Для ManagedThreadID в MSDN говорится:
Получает уникальный идентификатор текущего управляемого потока.
В каком контексте применяется "уникальный"?
Является ли это уникальным для каждого процесса?
Per домен приложения?
В машине?
На .NET runtime? (если у меня есть как MS.NET, так и Mono работает)
Идентификатор потока уникален для каждого процесса в течение жизненного цикла потока. После окончания потока его номер может быть повторно использован.
Так как потоки из ThreadPool
также должны соблюдать это свойство, и существует один ThreadPool
для каждого процесса (как указано в этой статье MSDN), я думаю, что ManagedThreadId скорее всего уникален для каждого процесса.