Method
GioTaskrun_in_thread
since: 2.36
Declaration [src]
void
g_task_run_in_thread (
GTask* task,
GTaskThreadFunc task_func
)
Description [src]
Runs task_func
in another thread. When task_func
returns, task
‘s
GAsyncReadyCallback
will be invoked in task
‘s GMainContext
.
This takes a ref on task
until the task completes.
See GTaskThreadFunc
for more details about how task_func
is handled.
Although GLib currently rate-limits the tasks queued via g_task_run_in_thread(), you should not assume that it will always do this. If you have a very large number of tasks to run (several tens of tasks), but don’t want them to all run at once, you should only queue a limited number of them (around ten) at a time.
Be aware that if your task depends on other tasks to complete, use of this function could lead to a livelock if the other tasks also use this function and enough of them (around 10) execute in a dependency chain, as that will exhaust the thread pool. If this situation is possible, consider using a separate worker thread or thread pool explicitly, rather than using g_task_run_in_thread().
Available since: 2.36
Parameters
task_func
-
Type:
GTaskThreadFunc
A
GTaskThreadFunc
.