方法
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_thread 或 g_task_run_in_thread_sync 运行的任务,调用此方法将把 result 保存以供稍后返回给调用者,但任务直到 GTaskThreadFunc 退出实际上才完成。
请注意,由于任务可能会在调用 g_task_return_pointer() 之前完成,因此您不能假设在调用此方法后 result 仍然有效,除非您仍然持有对其的另一个引用。
自 2.36 起可用
参数
result-
类型:
gpointer任务函数的指针结果。
该参数可以是 NULL。该实例获得数据所有权,并负责释放它。 result_destroy-
类型:
GDestroyNotify一个
GDestroyNotify函数。该参数可以是 NULL。