函数:

guint
g_idle_add (GSourceFunc function,
            gpointer data);

参数

  • function
    空闲处理函数
  • data
    传递给空闲处理函数的参数
  • 返回值
    事件源的ID值(>0)

功能:

在 main() 主循环中,如果没有更高级事件需要执行时,可以执行其中的 function() 空闲函数,该空闲函数对应的优先级为 G_PRIORITY_DEFAULT_IDLE 。如果该空闲函数如果返回 FALSE, 表示它已经在事件源被移除,不会被再次调用。

有关如何处理返回值和数据的内存管理的详细信息,请参见源的内存管理。

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