当没有同时进行写访问时,来自多个线程的读访问(不使用互斥锁或原子)是安全的。可以从多个线程读取 Const 变量:
const int x = 10;
当我确定没有写访问权限时,我是否也可以从多个线程安全地读取一个没有 const 限定符的变量?我知道这不是一个好的做法,但我想知道它是否安全。指针呢?当我需要使用指针从多个线程进行只读访问时,应该这样声明,对吗? :
const int * const p = &x;
最佳答案
当然,只要您确定没有正在进行的写操作,您就可以从多个线程读取非常量变量。
const int * const p = &x;
上面的语句意味着你在防止值和指针被修改。如果只想保护值本身,可以使用
const int * p = &x;
关于c++ - 从多个线程读取访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26543786/