Estoy buscando una solución para programar la eliminación de un objeto en los hilos. Los documentos sobre cómo se comporta deleteLater
no son del todo claros. ¿Puedo llamar a esta función en un hilo que no es el propietario del objeto?QObject :: deleteLater en un QThread
Por ejemplo, Object X es propiedad de Thread A, y en Thread B me gustaría eliminar Object X. Como el objeto puede estar dentro del procesamiento de eventos en este momento (en el Subproceso A), no puedo borrarlo de manera segura hasta que vuelva al ciclo de mensajes. Si llamo al deleteLater
desde el Subproceso B, los documentos parecen indicar que se eliminará tan pronto como el Subproceso B regrese al ciclo de mensajes.
Actualmente tengo el enfoque de tener una señal emitida en el Subproceso A que está conectado a una ranura que llama al deleteLater
. Me pregunto si existe una forma más fácil de hacerlo, si puedo llamar al deleteLater
desde cualquier hilo.
En Qt puede cambiar qué hilo posee un objeto. ¿Eso te ayudaría? – sashoalm
Así es como el objeto entra en el hilo. –