2010-10-05 4 views
0

Je souhaite que mon application attende indéfiniment jusqu'à ce qu'une tâche soit terminée dans un autre thread.Requête relative aux threads dans Qt

Comment l'exécuter dans Qt?

Sur Windows, nous utilisons waitforsingletonobject, mais existe-t-il une alternative à cela?

+0

Cela ne devrait probablement pas être étiqueté avec pthreads, car la question est spécifique à QThreads. – gspr

Répondre

0

Appelez wait sur votre objet QThread.

+0

Puisqu'il parlait d'une «tâche» complétée, je ne pense pas qu'il veuille attendre que tout le fil se termine. – gspr

+0

s'ils utilisent WaitForSingleObject sur Windows, l'équivalent Qt le ferait. –

+0

attente maintient UI accroché je suppose, mais jusqu'à quel point je dois attendre, quantité infinie de temps que je dois .. dans ce cas, comment faire – Naruto

0

Utilisez QtConcurrent :: run. Voir ma réponse au this question. Notez que l'API QFutureWatcher peut fonctionner en mode blocage (méthode waitForFinished) et non bloquant (signal finished).

Questions connexes