函数宏
GLibLOCK_DEFINE
声明 [源代码]
#define G_LOCK_DEFINE (
name
)
描述 [源代码]
G_LOCK_
宏提供了一种方便的接口访问 GMutex
。宏 G_LOCK_DEFINE
定义了一个锁。它可以在程序中可能出现变量定义的任何地方出现,即函数的第一个块中或函数外部。参数 name
将经过混淆以获取 GMutex
的名称。这意味着您可以用现有变量的名称作为参数 - 例如,您打算用锁保护的那个变量的名称。请查看我们使用 G_LOCK
宏的 give_me_next_number()
示例
以下是一个使用 G_LOCK
便利宏的示例
G_LOCK_DEFINE (current_number);
int
give_me_next_number (void)
{
static int current_number = 0;
int ret_val;
G_LOCK (current_number);
ret_val = current_number = calc_next_number (current_number);
G_UNLOCK (current_number);
return ret_val;
}
此函数对语言绑定不可直接访问。