我正在寻找一种方案来安排跨线程删除对象的计划。关于
例如,对象X由线程A拥有,在线程B中,我想要删除对象X。由于对象可能正在事件处理中(在线程A中),因此在它返回消息循环之前,我不能安全地删除它。然而,如果我从线程B中调用
目前,我采取的方法是在线程A中发出一个信号,该信号连接到一个调用
deleteLater
函数的行为文档并不完全清晰。我可以在不是对象所有者的线程中调用这个函数吗?例如,对象X由线程A拥有,在线程B中,我想要删除对象X。由于对象可能正在事件处理中(在线程A中),因此在它返回消息循环之前,我不能安全地删除它。然而,如果我从线程B中调用
deleteLater
,文档似乎表明它会在Thread B回到消息循环时立即删除。目前,我采取的方法是在线程A中发出一个信号,该信号连接到一个调用
deleteLater
的槽中。我想知道是否有更简单的方法来做到这一点--如果确实可以从任何线程中调用deleteLater
。