2010-02-03 6 views
2

J'ai une classe qui a une méthode qui est appelée par le thread principal et 3 autres threads (2 QThreads et 1 fait avec QtConcurrent :: run()). Dans cette méthode, j'émets parfois un signal. Est-ce correct ou pourrait-il causer des problèmes puisque je n'émets pas de signaux appartenant aux threads d'appel.Emettre des signaux d'autres threads

Répondre

3

Oui, c'est parfaitement correct. QT fait la communication inter-thread pour vous de manière transparente. Si l'emplacement qui doit être activé est dans un autre thread, le signal est mis en file d'attente et sera reçu par le thread de destination lorsqu'il entre dans sa boucle d'événements.

Vous pouvez l'essayer et voir ce qui se passe dans un débogueur.