函数

GLibatomic_pointer_exchange

自:2.74 起

声明 [src]

gpointer
g_atomic_pointer_exchange (
  void* atomic,
  gpointer newval
)

描述 [src]

atomic 设为 newval,并从 atomic 返回旧值。

此交换操作执行为原子操作。

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

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

自以下版本提供:2.74

参数

atomic

类型: void*

指向 #gpointer 大小值的指针。

该参数可以为 NULL
数据由该函数的调用者所有。
newval

类型: gpointer

要替换为的值。

该参数可以为 NULL
数据由该函数的调用者所有。

返回值

类型: gpointer

在交换前 atomic 的值。

数据由被调用函数所有。
返回值可以为 NULL