Estaba cavando en algún código fuente en el que estoy trabajando. Encontré una declaración peculiar que alguien había codificado. El código fuente es una aplicación GUI con una GUI de QML y usa QT 4.7.x.Clase basada en QObject tiene una conexión en cola a sí mismo
El siguiente fragmento pertenece a la lógica de la aplicación central.
// connect signal-slots for decoupling
QObject::connect (this, SIGNAL(setCurrentTaskSignal(int)), this,
SLOT(SetCurrentTaskSlot(int)), Qt::QueuedConnection);
Es extraño que el objeto se conecta a sí mismo a través de una conexión en cola que significa esencialmente que el objeto puede "en vivo" en diferentes subprocesos al mismo tiempo?
A primera vista No tenía ningún sentido para mí. ¿Alguien puede pensar en alguna razón por la cual tal conexión sería plausible o necesaria? ¿Esto funcionaría?
Tiene sentido. Todavía estoy mirando las cosas que rodean el código. Así que volveré una vez que quede claro lo que está sucediendo. –
Parece que se emite una señal de cambio de tarea mientras se realiza un cálculo y ese "cambio" no debería ocurrir inmediatamente, sino después de que se ejecuta el flujo actual y se reanuda el proceso del evento. –