函数

GLibidle_add

声明 [src]

guint
g_idle_add (
  GSourceFunc function,
  gpointer data
)

描述 [src]

将一个函数添加到默认主循环中,该函数会在没有待处理的更高优先级事件时调用。该函数将被赋予默认空闲优先级 G_PRIORITY_DEFAULT_IDLE。如果函数返回 FALSE,它将自动从事件源列表中移除,并且将不再被调用。

请参阅 主循环内存管理,了解如何处理 data 的返回值和内存管理。

这在内部使用 g_idle_source_new() 创建一个主循环源,并使用 g_source_attach() 将其附加到全局 GMainContext,因此回调将在任何运行该主上下文的线程中调用。如果您需要更大的控制或使用自定义主上下文,则可以手动执行这些步骤。

该函数无法直接供语言绑定使用。

该函数的实现由语言绑定中的 g_idle_add_full() 提供。

参数

function

类型: GSourceFunc

要调用的函数。

data

类型: gpointer

要传递给 function 的数据。

该参数可以为 NULL
该数据由函数的调用者所有。

返回值

类型: guint

事件源的 ID(大于 0)。