函数

GLibatomic_int_and

since: 2.30

声明 [源代码]

guint
g_atomic_int_and (
  volatile guint* atomic,
  guint val
)

说明 [源代码]

atomicval 的值执行原子位“与”运算,将结果存储回 atomic

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

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

虽然 atomic 有一个 volatile 限定符,但这是一种历史遗留,不应向其传递的指针为 volatile

自 2.30 起可用

参数

atomic

类型: volatile guint*

指向一个 #gint 或 #guint 的指针。

数据由函数的调用者拥有。
val

类型: guint

与运算使用的值。

返回值

类型: guint

操作之前 atomic 的值,(无符号)