函数
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 之间,则结果未定义。
此函数以原子方式访问 address
。 address
的所有其他访问都必须是原子的,以便此函数可靠地工作。虽然 address
有 volatile
限定符,但这只是历史遗留物,传递给它的参数不应该是 volatile
。
自 2.24 起可用