多线程中的静态成员函数

问题描述 投票:0回答:1

大家都知道,尽管实例化了多少个对象,但BSS段中仅存储了一个静态成员函数实例。因此,考虑有一些线程用静态成员函数实例化一个类并频繁地更改静态成员。我的问题是静态成员是否是线程安全的。

c++ static-variables
1个回答
1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.