Runs task_func
in another thread, and waits for it to return or be cancelled.
You can use propagate_pointer, etc, afterward to get the result of
task_func
.
See TaskThreadFunc for more details about how task_func
is handled.
Normally this is used with tasks created with a null `callback`, but note that even if the task does
have a callback, it will not be invoked when task_func
returns. completed
will be set to true just before this function returns.
Although GLib currently rate-limits the tasks queued via run_in_thread_sync, you should not assume that it will always do this. If you have a very large number of tasks to run, but don't want them to all run at once, you should only queue a limited number of them at a time.
this |
a Task |
task_func |