Qt中的connect()调用线程是否安全?

时间:2014-09-26 19:42:40

标签: qt thread-safety qt-signals

我有两个QObject AB住在不同的QThread中。 A将发出信号B具有匹配的广告位。我想使用connect()A的信号连接到B的广告位。

问题是,connect()调用线程是否安全?连接的两个线程中的哪一个是否重要?

1 个答案:

答案 0 :(得分:3)

是的,QObject :: connect()是线程安全的方法:

  

注意:此类中的所有函数都是可重入的,但是connect(),   connect(),disconnect()和disconnect()也是线程安全的。

您从哪个线程进行连接并不重要。但您应该关心在对象之间使用auto connection(默认连接),unique connectionqueued connection。你应该在你的两个线程中运行事件循环。

另外,我强烈建议您查看以下文章:firstsecond