函数

GLibatomic_int_add

自:2.4

声明 [src]

gint
g_atomic_int_add (
  volatile gint* atomic,
  gint val
)

说明 [src]

以原子方式将 val 添加到 atomic 的值。

将此操作视为 { tmp = *atomic; *atomic += val; return tmp; } 的原子版本。

此调用充当一个完整的编译器和硬件内存屏障。

在版本 2.30 之前,此函数不返回值(但 g_atomic_int_exchange_and_add() 返回值,而其含义相同)。

atomic 具有 volatile 限定符时,这是一个历史遗留问题,传递给它的指针不应该为 volatile

自 2.4 起可用

参数

原子

类型: volatile gint*

指向 #gint 或 #guint 的指针。

数据由函数的调用者所有。
验证

类型: gint

需要 add 的值。

返回值

类型: gint

添加前的 atomic 值,有符号的。