函数宏

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;
  }

此函数对语言绑定不可直接访问。

参数

name

类型: -

锁的名称。