Как я могу получить управляемые потоки из Process.GetCurrentProcess (). - PullRequest
1 голос
/ 21 января 2009

Я могу получить список запущенных потоков из Process.GetCurrentProcess (). Threads, но мне нужно знать управляемое имя потоков, запущенных с Thread.Start. Это не свойство объекта ProcessThread. Есть ли способ получить эту информацию из ProcessThread?

1 Ответ

7 голосов
/ 21 января 2009

Хотя CLR порождает поток ОС для каждого управляемого потока, это не обязательно. Я имею в виду, что ни один стандарт не гарантирует, что между потоками ОС и управляемыми потоками должно быть однозначное соответствие

Цитировать MSDN:

ThreadId операционной системы не имеет фиксированная связь с управляемым поток, потому что неуправляемый хост может контролировать отношения между управляемые и неуправляемые темы. В частности, сложный хост может использовать API хостинга CLR для планирования много управляемых потоков против одного и того же поток операционной системы, или переместить управляемая нить между разными потоки операционной системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...