c++ - 从多个线程读取访问

标签 c++ multithreading

当没有同时进行写访问时,来自多个线程的读访问(不使用互斥锁或原子)是安全的。可以从多个线程读取 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/

相关文章:

c++ - 哪些平台有 8 位字符以外的内容?

c++ - 基于 alignof 的标记指针特化

c++ - 在 vector 中找到对的最快方法,在迭代时将其删除

c++ - 带有 g++ 的不需要的警告消息

c# - 实现多线程后与数据库的连接丢失

c++ - qml 元素的自定义渲染

c# - 系统线程: Cross-thread operation not valid

java - 多线程 OpenGL-List 创建

java - 多线程无法正常工作

c - 我打开了编译器优化,我的多线程 C 程序急剧崩溃,我可以阅读任何关于此的文章吗?