如何const
(指针,引用和成员函数),在C++线程安全的帮助?
任何不可变的(即不可变的)数据本质上都是线程安全的 - 多个线程同时读取相同的只读数据没有风险,因为它永远不会改变!
在C++中将变量标记为const使其成为只读,从而使线程安全.
多线程的主要问题是可变性.const限制了这一点,但既然你可以抛弃常量,那就不是万无一失的.
const成员函数不应该改变状态,这样可以安全地同时从多个线程调用.但是线程安全不是const的目的,C++提供了mutable关键字和const_cast,这意味着const实际上并不保证线程安全,不应该依赖于此目的.