Qt相当于winapi InterlockedIncrement?

时间:2012-10-30 12:04:49

标签: c++ qt winapi

我试图在Qt c ++中找到winapi InterlockedIncrement的等价物 我在读: http://doc.qt.io/qt-4.8/qatomicint.html
但我不明白,有人可以给我一个简单的例子

1 个答案:

答案 0 :(得分:2)

InterlockedIncrement()生成一个完整的内存屏障(或栅栏),以确保按顺序完成内存操作(MSDN文档。)它返回新值。

在Qt中,这转换为QAtomicInt::fetchAndAddOrdered(1) + 1。例如:

QAtomicInt atomInt(15);
int n = atomInt.fetchAndAddOrdered(1) + 1; // n == 16, atomInt == 16