类实例线程关联是否会对其数据产生任何影响?

时间:2015-06-19 15:38:48

标签: c++ multithreading qt

我们从QThread documentation

了解到
  

据说QObject实例具有线程关联性,或者它存在   在某个线程中。当QObject收到排队信号或   发布的事件,插槽或事件处理程序将在该线程中运行   对象存在。

线程关联是否会对类实例数据产生任何影响?类数据是否成为线程数据?

除了上述之外,我问的原因是因为我想在其构造函数中传递另一个类的指针/引用。如果我是面向对象的,我不会直接访问它的数据但如果我调用另一个类的成员函数,它是否也会在这个类的线程中调用?

1 个答案:

答案 0 :(得分:3)

  

线程关联是否会对类数据产生任何影响?

不,QObject的线程关联仅控制其插槽和事件处理程序运行的线程。

  

类数据是否成为线程数据?

类数据是指类静态数据成员 - 它们可能会受到每个实例的线程关联性的影响。实例数据也不是以某种方式成为线程本地的:线程本地存储可能非常有限,并且没有理由强制每个实例进入它。

  

除了以上......

如果您不发出信号或事件,正常的方法调用只是方法调用。