在C++中,我觉得我一直都认为像var ++和var--这样的东西是合理的线程安全的 - AKA - 你可以保证你的价值会在某个时间点增加或减少.
正是基于这种信念,我建立了对非线程算法的理解,以实现线程安全操作.然而,今天我感到震惊,因为我有一个没有增加的变量 - 因此我质疑我过去工作的大量有效性.
在一个小程序中,我有一个初始化为0的全局变量.启动了八个P-Threads,每个调用varname ++总共1024次,总计增加到8*1024.但是在所有线程完成执行后,varname的值明显小于8*1024.
我在这里错过了这条船吗?有人可以赐教吗?