Есть ли эффективный способ перечислить все потоки данного процесса?

Мой вопрос: есть ли быстрый способ просмотра всех потоков, открытых текущим процессом, с учетом PID?

Я знаю о моментальных снимках toolhelp, но перечисление всех потоков в системе звучит немного... неудобно.

Я ищу более быстрое решение, я был бы рад услышать ваши предложения.

Спасибо !


person Danny Shemesh    schedule 26.05.2012    source источник
comment
CreateToolhelp32Snapshot может принимать идентификатор процесса, поэтому вам не нужно повторять все потоки во всей системе.   -  person Seth Carnegie    schedule 27.05.2012
comment
Эй, большое спасибо! Просто msdn говорит, что моментальный снимок будет игнорировать pid в случае, если не используются флаги snapmodules, snapheaplist или snapall (которые включают в себя каждый запущенный поток, а также кучу и модули для данного pid).   -  person Danny Shemesh    schedule 27.05.2012
comment
возможный дубликат перечисления потоков в Windows. У .Net есть API для этого, но внутри он просто фильтрует глобальный список потоков (из данных о производительности, IIRC), что предполагает, что нет никакого способа напрямую получить только потоки для одного процесса.   -  person arx    schedule 27.05.2012