thread example c++ qt thread-safety

c++ - qt thread example



Qt Signals y seguridad de hilo de ranura (1)

Depende del tipo de conexión que especificó mediante la función de connect llamada. La única forma en que se lanzará la ranura simultáneamente es si especificó Qt::DirectConnection AND emitiendo señal en una secuencia diferente a la de la ranura. Si omite el tipo de conexión, sería Qt::AutoConnection . En este caso, si emite una señal de un hilo y la captura en otra (por ejemplo, en el hilo de la GUI principal) - Qt pondrá la llamada de un espacio en la cola de mensajes y realizará todas las llamadas secuencialmente. Lee esto para obtener más información: http://qt-project.org/doc/qt-4.8/threads-qobject.html#signals-and-slots-across-threads

Digamos que tengo un cambio de señal conectado a una ranura de notificación. Si se emite la señal de cambio, la ranura de notificación comenzará a ejecutarse.

Ahora, ¿qué ocurre si se emite una segunda señal de cambio y la primera ranura de notificación no finaliza su ejecución?

¿Se lanzó la segunda ranura al mismo tiempo que la primera? Y si es así, ¿está Qt manejando la seguridad del hilo o depende del programador manejarlo?