构造函数
GioTasknew
自从:2.36
声明 [源]
GTask*
g_task_new (
GObject* source_object,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer callback_data
)
描述 [源]
创建一个作用在source_object
上的GTask
,最终在当前[线程默认主上下文][g-main-context-push-thread-default]中调用callback
。
在你的异步方法的“start”方法中调用此函数,并在整个异步操作过程中传递GTask
。您可以使用g_task_set_task_data()
将特定于任务的数据附加到对象上,以后可以通过 g_task_get_task_data()检索。
默认情况下,如果cancellable
被取消,则任务返回值始终为G_IO_ERROR_CANCELLED
,即使任务在取消之前已经完成。这在取消可能意味着任务所依赖的其他对象已被销毁的情况下可以简化处理。如果您不希望这种行为,可以使用g_task_set_check_cancellable()
来更改它。
兼容自:2.36
参数
source_object
-
类型:
GObject
拥有此任务的
GObject
,或NULL
。该参数可以是 NULL
。数据由函数的调用者拥有。 cancellable
-
类型:
GCancellable
可选的
GCancellable
对象,NULL
忽略。该参数可以是 NULL
。数据由函数的调用者拥有。 callback
-
一个
GAsyncReadyCallback
。该参数可以是 NULL
。 callback_data
-
类型:
gpointer
传递给
callback
的用户数据。该参数可以是 NULL
。数据由函数的调用者拥有。
返回值
类型: GTask
一个GTask
。
函数的调用者拥有数据,并负责释放它。 |