方法
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
。