小编use*_*895的帖子

var ++或var-- not threadsafe?

在C++中,我觉得我一直都认为像var ++和var--这样的东西是合理的线程安全的 - AKA - 你可以保证你的价值会在某个时间点增加或减少.

正是基于这种信念,我建立了对非线程算法的理解,以实现线程安全操作.然而,今天我感到震惊,因为我有一个没有增加的变量 - 因此我质疑我过去工作的大量有效性.

在一个小程序中,我有一个初始化为0的全局变量.启动了八个P-Threads,每个调用varname ++总共1024次,总计增加到8*1024.但是在所有线程完成执行后,varname的值明显小于8*1024.

我在这里错过了这条船吗?有人可以赐教吗?

c++ increment nonblocking thread-safety

3
推荐指数
1
解决办法
464
查看次数

标签 统计

c++ ×1

increment ×1

nonblocking ×1

thread-safety ×1