如果我从另一个线程调用对象成员函数会发生什么?

Dra*_*rro 11 c++ multithreading

如果我在主线程中创建了一个C++对象,然后启动另一个线程,并从该线程调用我创建的对象的公共成员函数,会发生什么?

如果公共函数有参数或操纵私有对象成员,它是不同的吗?

它在windows,linux或mac os上的表现是否不同?

如果在堆栈上创建对象会发生什么?

Mat*_* M. 9

有两点重要:

  • 首先,像往常一样,您需要确保实例的生命周期超过其使用的持续时间.
  • 第二,需要同步跨多个线程访问变量以防止竞争条件.

这就是所有人.