多线程中的静态成员变量

时间:2019-10-20 08:39:04

标签: c++ static-variables

众所周知,尽管实例化了多少个对象,但BSS段中仅存储了一个静态成员变量实例。因此,请考虑使用一些线程来实例化带有静态成员变量的类并频繁更改静态成员。我的问题是静态成员是否是线程安全的。

1 个答案:

答案 0 :(得分:2)

变量对线程一无所知。类静态成员变量并不是天生的线程安全的。您可以考虑将它们放在线程本地存储中,或者确保成员的数据结构本身是线程安全的。

您还提到了“静态成员函数”,但这些问题与该问题无关紧要:如何修改静态成员变量无关紧要,这样做本质上不是线程安全的,无论是否通过静态成员函数,常规成员进行修改函数或非成员函数。