布尔值根据线程的不同有不同的值
boolean has different values depending on the thread
我在c++中有一个多线程应用程序,我在其中创建了一个类的实例,其中有一个布尔值,我设置为'false'。
情况是,当在另一个线程中我试图访问这个实例并获得布尔值时,它没有值"false",而不是它,它有一个随机的int值,如62,…
怎么回事?
可能它最初没有初始化?然后你的另一个线程看到旧的缓存值,因为即使bool
也应该在线程之间同步。
相关文章:
- 线程之间的布尔停止信号
- 当我在其中一个线程执行中(在activemq-cpp中)捕获到特定值时,我如何终止/停止所有其他线程
- 将 10 个线程与原子布尔值同步
- 多个线程可以安全地同时将相同的值写入同一变量吗?
- C++11:具有互斥锁的线程看到原子变量的值发生变化,尽管这是唯一可以改变它的代码
- C++:我可以在线程仍在运行时为线程提供新值,还是必须先结束它?
- 具有对象的右值引用的线程
- 无法修改其他线程中 ref 传递的值
- 确保静态布尔检查的线程安全
- cpp 为什么 boost::线程内部的循环不遍历所有值并且推送相同的值?
- 更新与多个线程unordred_map中的不同现有键对应的值
- 是否可以访问非线程安全容器内指针指向的值(线程安全映射中的条目)?
- C++线程获取每个循环的值
- 从无限线程 c++ 中捕获值
- std::原子布尔值或普通全局布尔值在单线程中很好吗?
- main() 对连续运行的线程中的编辑值具有只读访问权限 - C++
- C++ 布尔复合赋值线程安全
- 是否存在简单的指向布尔值作为线程取消标志的现实情况,无法有效地取消线程?
- 检测线程内布尔值的变化
- 布尔值根据线程的不同有不同的值