Получение от ProcessThread до управляемого потока

Попробуйте один из них:

9
задан quetzalcoatl 25 June 2016 в 21:16
поделиться

2 ответа

Это невозможно по следующей причине. Цитата из MSDN :

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

Таким образом, нет однозначного соответствия между управляемыми потоками и потоками ОС.

Итак, теперь возникает вопрос, как получить список всех управляемых потоков, выполняемых в текущий момент в текущем процессе? К сожалению, я не знаю ответа.

12
ответ дан 4 December 2019 в 19:34
поделиться

Похоже, это невозможно.
К счастью для нас, у нас есть собственные библиотеки потоков, которые обертывают библиотеки .NET, и я смог добавить функциональность для хранения списка активных потоков, которые мы можем использовать для этой диагностики.
Это работает достаточно хорошо, но, конечно, потребовалось немало усилий и тестирования, но, надеюсь, мы разберемся с этим.

0
ответ дан 4 December 2019 в 19:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: