Domanda

Ho una classe che ha un metodo che viene chiamato dal thread principale e altre 3 fili (2 qthreads e 1 fornito con QtConcurrent :: run ()). All'interno di questo metodo che ho a volte emettere un segnale. È questo va bene o potrebbe causare problemi poiché non sto emettere segnali che appartengono ai filetti di chiamata.

È stato utile?

Soluzione

Sì, questo è perfettamente ok. QT fa la comunicazione inter-thread per voi in modo trasparente. Se lo slot che deve fuoco in un altro thread allora il segnale viene accodata e saranno ricevuti dal filo destinazione quando entra nel suo ciclo di eventi.

È possibile provare e vedere cosa succede in un debugger.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top