Я использовал Qt довольно много, но в последнее время нужно было отлаживать потоки, которые я создавал, и нашел еще много потоков, которые я ожидал.Qt, кажется, использует много потоков
Итак, моя программа - это простая консоль (без GUI) Qt-приложения (linux).
Темы, которые я создал:
- Он имеет основной() (который выполняет QtCoreApplication) - так что основной поток.
- Нить для обработки полученных данных из СОМ порта (с использованием FTDI D2XX драйверов ThirdParty кода)
И это все. Когда я делаю ps -T ... и найду свое приложение, есть 7 потоков. У меня есть два класса, которые QObjects используют сигналы и слоты, поэтому, возможно, им нужен поток для обработки сообщений, который приводит меня к 4 потокам ... поэтому я не понимаю, почему у меня может быть 7 потоков для моего приложения.
Может ли кто-нибудь объяснить больше о том, что происходит? при необходимости может отправлять код. Примечание. Я использую только new QThread
в своем коде (на данный момент).
Я не могу себе представить, почему Qt создавал бы дополнительные потоки без запроса, особенно без GUI, но, возможно, он не преступник. Попробуйте отключить создание потока, возможно, драйвер FTDI создал другой. –
Также сигналы AFAIK + слоты для обычных событий, таких как нажатия кнопок, не потребуют дополнительных потоков. Они обрабатываются в цикле событий. –
Приложения Qt порождают целые потоки Lotta, особенно приложения GUI. –