函数

GLibidle_add_full

声明 [src]

guint
g_idle_add_full (
  gint priority,
  GSourceFunc function,
  gpointer data,
  GDestroyNotify notify
)

说明 [src]

在没有任何更高优先级事件待处理时,添加一个要调用的函数。

如果函数返回 G_SOURCE_REMOVEFALSE,则该函数会自动从事件源列表中移除,并且不会再次调用它。

有关如何处理 data 的返回值和内存管理的详细信息,请参阅 主循环内存管理

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

此函数在语言绑定中被重命名为 g_idle_add()

参数

priority

类型: gint

空闲资源的优先级。通常介于 G_PRIORITY_DEFAULT_IDLEG_PRIORITY_HIGH_IDLE 之间。

function

类型: GSourceFunc

要调用的函数。

data

类型: gpointer

要传递给 function 的数据。

参数可以为 NULL
此数据归函数的调用者所有。
notify

类型: GDestroyNotify

空闲被移除时要调用的函数,或 NULL

参数可以为 NULL

返回值

类型: guint

事件源的 ID(大于 0)。