2013-05-28 24 views
10

Jakie są różnice między QThreads i QRunnable?C++/Qt - QThread vs QRunnable

Kiedy należy używać QThread i kiedy QRunnable?

+0

Bardzo dobra rozmowa o wielowątkowość w Qt (wyjaśniają QThread, QRunnable, QThreadPool, cross-nici sygnału Gniazda itp.) został wydany na Qt DevDays 2011. Filmy można znaleźć tutaj: [Część 1] (http://qt-project.org/videos/watch/advanced-qt-a-deep-dive-3-6- wielowątkowość-1), [Część 2] (http://qt-project.org/videos/watch/advanced-qt-a-deep-dive-4-6-mithtrading2). – leemes

Odpowiedz

8

Klasa QRunnable a funkcja QtConcurrent::run() dobrze nadają się do sytuacji, gdy chcemy wykonać pewne przetwarzanie tła w jednej lub kilku wątków wtórnych bez konieczności pełną moc i elastyczność dostarczanych przez QThread.

z "zaawansowane Qt Programowanie: Tworzenie Wspaniałe oprogramowanie z C++ i Qt 4" Mark Summerfield

+4

Ta odpowiedź byłaby przydatna, gdyby wyjaśniała "pełną moc i elastyczność zapewnioną przez QThread", ponieważ sugeruje, że powinieneś domyślnie używać QRunnable i używać QThread tylko wtedy, gdy potrzebujesz ... Co? Sygnały? Pętla zdarzeń? Itp. – Schollii