Подтвердить что ты не робот

Каковы другие потоки в приложении VCL по умолчанию и могут ли они быть названы по назначению?

Если вы создаете базовое приложение VCL и выполняете его, выполняется несколько потоков. Каковы каждый из потоков и могут ли они быть названы, чтобы упростить отладку многопоточных приложений?

Я пытаюсь назвать все мои дочерние потоки, и было бы полезно при отладке иметь четкое представление о том, что делает каждый дочерний поток при просмотре окна отладки статуса потока. (И если его не назвать, это будет намек на его отслеживание и назовем его.)

4b9b3361

Ответ 1

Обычное ванильное 32-битное приложение VCL в XE2, работающее на 64-битной Windows 7, имеет 3 потока. Основной поток и две дополнительные функции. Два дополнительных потока создаются в TApplication.CreateHandle вызовом WTSRegisterSessionNotification. Если вы хотите назвать их, вы можете перечислить потоки в процессе и вызвать NameThreadForDebugging.

По моему опыту, очень сложно отслеживать все потоки в вашем приложении. Как только ваше приложение станет умеренно сложным, существует множество потоков, идущих и идущих. Я лично рассматриваю те, кого я не называл ответственными за кого-то еще!