2011-02-13 2 views
0

Existe-t-il un moyen de créer un thread dans Qt sans utiliser de sous-classe (c'est-à-dire créer une classe QThread)? Cela devient difficile d'envoyer des données dans le fil. Est-il possible d'utiliser des threads win32 dans Qt si quelqu'un peut me donner un exemple sur comment?threads win32 dans Qt

Merci.

Répondre

1

Ou si vous avez beaucoup de tâches simples et que vous voulez les avoir traités de façon filetée. QRunnable et QThreadPool fournissent une approche rapide et facile sans traiter les threads eux-mêmes.

0

Si vous voulez juste pour exécuter une fonction dans un autre thread que vous devriez vérifier la QT Concurrent Namespace.

L'exemple suivant exécutera la fonction « AFunction() » dans thread séparé et ne bloquera pas sur la ligne où l'appel de la fonction . Bien sûr, il y a des mécanismes pour comprendre quand une fonction se termine, pour obtenir un résultat, pour l'attendre.

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

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

QtConcurrent::run(aFunction, integer, floatingPoint, string); 
Questions connexes