Получение идентификатора потока

Возможный дубликат:
С#/. NET: как получить идентификатор потока из потока?

Как я могу получить тот же идентификатор потока, что и в Visual Studio?

Я попытался использовать Thread.CurrentThread.ManagedThreadId, но я получаю разные числа.

Я получаю 35, 38, 39 и т.д., но в Visual Studio у меня есть 10596, 893 и т.д.

Ответ 1

Используйте GetCurrentThreadId() или ManagedThreadId(), чтобы получить идентификатор потока:

int threadID = (int)AppDomain.GetCurrentThreadId();
int managedThreadId = Thread.CurrentThread.ManagedThreadId;
Console.WriteLine("ThreadId = " + threadID);
Console.WriteLine("ManagedThreadId = " + managedThreadId);

Посмотрите на вопрос о переполнении стека Получение идентификатора потока из потока.

Ответ 3

Если вы видите другой идентификатор потока в своем прямом приложении, а не при отладке в Visual Studio, это именно то, что вы должны ожидать, правильно?

При запуске в отладчике вы эффективно запускаете приложение на хосте отладчика, которое будет иметь разные потоки, чем просто запуск приложения самостоятельно.