потоки win32 в Qt - PullRequest
       2

потоки win32 в Qt

0 голосов
/ 13 февраля 2011

Есть ли способ создать поток в Qt без использования подклассов (т. Е. Сделать класс QThread)? Трудно отправлять данные в поток. Возможно ли использовать потоки win32 в Qt, если да, может кто-нибудь дать мне пример того, как это сделать?

Спасибо.

Ответы [ 3 ]

4 голосов
/ 13 февраля 2011

Вы не должны обязательно подкласс QThread - см. Обсуждение здесь http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/

1 голос
/ 13 февраля 2011

Или, если у вас много простых задач и вы хотите, чтобы они обрабатывались в многопоточном режиме. QRunnable и QThreadPool обеспечивают быстрый и простой подход без работы с самими потоками.

0 голосов
/ 04 марта 2011

Если вы просто хотите запустить функцию в другом потоке, вы должны проверить параллельное пространство имен QT.

В следующем примере функция aFunction () будет запущена в отдельном потокене будет блокировать на линии, где вызывается функция.Конечно, есть механизмы, чтобы понять, когда функция заканчивается, чтобы получить результат, чтобы ждать его.

void aFunction(int arg1, double arg2, const QString &string);

int integer = ...;
double floatingPoint = ...;
QString string = ...;

QtConcurrent::run(aFunction, integer, floatingPoint, string);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...