我是Qt的新手。我没有在合理的时间内找到答案,于是决定在这里问。
我有一个帖子,让我们用Qt对象称它为Thread1
,它有一个连接的插槽。信号从同一线程(Thread1
)发出。
我正在断开此插槽与另一个Thread2
。
此操作线程是否安全? 如果发出信号并且插槽正好同时断开,是否有任何问题?
答案 0 :(得分:1)
只看文档,对我来说看起来很安全:
http://qt-project.org/doc/qt-4.8/qobject.html
注意:此类中的所有函数都是可重入的,但connect(),connect(),disconnect()和disconnect()也是线程安全的。
http://qt-project.org/doc/qt-4.8/qobject.html#disconnect
注意:此功能是线程安全的。
当您将一个线程的信号连接到另一个线程的插槽时,还要确保使用“排队连接”。如果在连接期间两个对象碰巧都在同一个线程中,则自动连接可能会行为异常(并进行直接连接)。
希望有所帮助。
编辑:有关线程安全的更多信息: