函数

GLibtimeout_add_seconds

自:2.14

声明 [源代码]

guint
g_timeout_add_seconds (
  guint interval,
  GSourceFunc function,
  gpointer data
)

描述 [源代码]

设置一个函数,该函数将使用默认优先级 G_PRIORITY_DEFAULT 定期调用。

该函数将反复调用,直至它返回 G_SOURCE_REMOVEFALSE,此时超时将自动销毁且不再调用该函数。

此函数通过使用 g_timeout_source_new_seconds() 在内部创建主循环源,并通过 g_source_attach() 将其附加到主循环上下文中。如需更多控制,你可以手动执行这些步骤。另请参阅 g_timeout_add_seconds_full()

可安全地从任何线程调用此函数。

请注意,对于一秒的超时,计时器的首次调用可能不准确。如果你需要更高的精度并有此种超时,则可能希望使用 g_timeout_add()

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

给出的间隔以单调时间表示,而不是时钟时间。请参阅 g_get_monotonic_time()

自 2.14 起可用

此函数不能直接供语言绑定使用。

此函数的执行由语言绑定中的 g_timeout_add_seconds_full() 提供。

参数

interval

类型: guint

调用函数的时间间隔(以秒为单位)。

function

类型: GSourceFunc

要调用的函数。

data

类型: gpointer

传递给 function 的数据。

该参数可以是 NULL
该数据归调用该函数的调用方所有。

返回值

类型: guint

事件源的 ID(大于 0)。