多线程处理中的静态成员变量

Static member variables in multithreading

本文关键字:变量 静态成员 多线程处理      更新时间:2023-10-16

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

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

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