Вы правы, говоря, что для разработки большинства программ на Symbian C ++ использование совместной многозадачности (например, активных объектов) предпочтительнее, чем многозадачности с упреждающим действием (то есть потоками). Однако, когда асинхронная операция может занять много времени, возможно, это хорошая идея выполнить ее в отдельном потоке. Хотя можно реализовать длительные операции с использованием активных объектов, это может привести к тому, что приложение перестанет отвечать на запросы, поскольку активный планировщик не сможет обрабатывать входные события при выполнении длительной функции RunL ().
Аналогично, в Qt использование потоков требуется только тогда, когда вашему приложению необходимо выполнить долгосрочную задачу. Обработка событий, которая будет обрабатываться с использованием AO в собственном коде Symbian, обеспечивается системой событий Qt с асинхронными уведомлениями, доставляемыми через сигналы и слоты. Неудивительно, что цикл событий Qt в Symbian реализован с использованием активных объектов.
Итак, хотя мы можем предоставить помощь по использованию QThread, вопрос о том, является ли это правильным решением, зависит от характера проблемы, которую вы пытаетесь решить.