方法

Neo任务return_pointer

自 2.36 起可用

声明 [源]

void
g_task_return_pointer (
  GTask* task,
  gpointer result,
  GDestroyNotify result_destroy
)

描述 [源]

task 的结果设置到 result,并完成该任务。如果 result 不是 NULL,则当调用者没有通过 g_task_propagate_pointer 拥有 result 的所有权时,将使用 result_destroy 释放 result

"完成任务" 意味着对于一个普通的异步任务,它将要么调用任务的回调,要么将那个回调排队在适当的 GMainContext 中调用,或者在当前 GMainContext 的下一次迭代中调用。对于通过 g_task_run_in_threadg_task_run_in_thread_sync 运行的任务,调用此方法将把 result 保存以供稍后返回给调用者,但任务直到 GTaskThreadFunc 退出实际上才完成。

请注意,由于任务可能会在调用 g_task_return_pointer() 之前完成,因此您不能假设在调用此方法后 result 仍然有效,除非您仍然持有对其的另一个引用。

自 2.36 起可用

参数

result

类型: gpointer

任务函数的指针结果。

该参数可以是 NULL
该实例获得数据所有权,并负责释放它。
result_destroy

类型: GDestroyNotify

一个 GDestroyNotify 函数。

该参数可以是 NULL