函数

GLibbit_lock

自:2.24

声明 [src]

void
g_bit_lock (
  volatile gint* address,
  gint lock_bit
)

说明 [src]

address 中设置指示的 lock_bit。如果位已设置,此调用将阻塞,直到 g_bit_unlock() 取消设置对应的位。

不支持在同一整数内的两个不同位上尝试加锁,并且很可能会导致死锁。

设置的位的值是 (1u << bit)。如果 bit 不在 0 到 31 之间,则结果未定义。

此函数以原子方式访问 addressaddress 的所有其他访问都必须是原子的,以便此函数可靠地工作。虽然 addressvolatile 限定符,但这只是历史遗留物,传递给它的参数不应该是 volatile

自 2.24 起可用

参数

address

类型: volatile gint*

一个整数的指针。

数据归函数的调用者所有。
lock_bit

类型: gint

0 到 31 之间的位值。