Domanda

Ho un QThread classe derivata che comunica con il thread principale con l'invio di QEvents ad esso.

Qual è il modo migliore per il thread principale di comunicare con il secondo thread?

Il filo principale ha un puntatore al secondo.

È stato utile?

Soluzione

Il modo migliore per comunicare tra oggetti in Qt è utilizzare segnali e slot. È un modo thread-safe che viene gestita dal ciclo degli eventi e non richiede alcun blocco da parte dell'utente. È inoltre possibile utilizzare gli eventi, anche se questo utilizzo sembra un po 'strano -. Un evento è una notifica di qualcosa che accade, non è uno strumento per chattare

È inoltre possibile utilizzare la filettatura primitive come QMutex, QSemaphore, QWaitCondition e QReadWriteLock (stesso di un QMutex, ma come suggerisce il suo nome, si permette di bloccare sia per la lettura o la scrittura, non entrambi allo stesso tempo).

Si dovrebbe leggere la documentazione Qt, in particolare vi consiglio di iniziare con la Discussione di Supporto in Qt pagina .

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