【发布时间】:2012-10-30 12:04:48
【问题描述】:
我尝试在 Qt c++ 中找到与 winapi InterlockedIncrement 等效的东西
我在读:
http://doc.qt.io/qt-4.8/qatomicint.html
但是我没看懂,谁能给我一个简单的例子
【问题讨论】:
-
解释一下你想要
InterlockedIncrement的什么属性,这样只知道Qt的人可以回答,而不仅仅是两个都知道的人。
我尝试在 Qt c++ 中找到与 winapi InterlockedIncrement 等效的东西
我在读:
http://doc.qt.io/qt-4.8/qatomicint.html
但是我没看懂,谁能给我一个简单的例子
【问题讨论】:
InterlockedIncrement的什么属性,这样只知道Qt的人可以回答,而不仅仅是两个都知道的人。
InterlockedIncrement() 生成一个完整的内存屏障(或栅栏)以确保内存操作按顺序完成(MSDN 文档。)它返回新值。
在 Qt 中,这转换为 QAtomicInt::fetchAndAddOrdered(1) + 1。例如:
QAtomicInt atomInt(15);
int n = atomInt.fetchAndAddOrdered(1) + 1; // n == 16, atomInt == 16
【讨论】: