线程安全问题

Thread safe issues

本文关键字:问题 安全 线程      更新时间:2023-10-16

当我从ClassA:funcA()打电话给ClassA:funcB()时,我有疑问 - ClassA:funcA()有监视器的地方当我打电话给ClassA:funcB()时,它在监视器内。

这里:

static pthread_mutex_t my_mutex;
ClassA::funcA()
{
    monitor mp(my_mutex);
    err = funcB();
}
ClassA::funcB()
{
  ...
  stuff with NO lock etc
  ...
}

ClassA:funcB()仅从 ONLY funcA() 调用,线程安全吗?

当然。如果funcB仅在funcA获取互斥锁时从funcA调用,则线程安全。