构造函数

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

一个GAsyncReadyCallback

该参数可以是NULL
callback_data

类型: gpointer

传递给callback的用户数据。

该参数可以是NULL
数据由函数的调用者拥有。

返回值

类型: GTask

一个GTask

函数的调用者拥有数据,并负责释放它。