ho fatto la mia diligenza, ma non riesco a trovare una risposta a questo:Utilizzando Qt segnali/slot con fili non Qt
Come funziona il meccanismo/slot di Qt segnale interagiscono con le discussioni non-Qt?
In particolare, è sicuro emettere un segnale da un thread non Qt (ad esempio TBB), per essere catturato da uno slot nel mio ciclo degli eventi principale? Supponiamo che lo connetti esplicitamente con una connessione in coda? (La mia sensazione è che specificare che la connessione sia in coda sarebbe obbligatoria, è corretto?)
(come domanda a parte, ho assunto che in generale le classi di sincronizzazione Qt, ad esempio QMutex
, funzionino su Qt thread. È corretto?)
(Come commento di chiarimento, la cosa di cui sono preoccupato è che il meccanismo di connessione in coda non utilizzerà guardie, ad esempio mutex, per aggiungere il metacall alla coda eventi thread principale se non rileva che il segnale viene emesso da un thread Qt diverso.)
(Aggiunta finale: posso crederlo perché i meccanismi Qt sono implementati in termini di piattaforma- . Primitivi specifici, che in pratica tutte le cose che sto cercando di fare sarà solo lavorare con grazia, ma mi chiedo anche se Qt fornisce alcuna garanzia che queste cose funzionano)