public void run_in_thread (TaskThreadFunc task_func)
task_func in another thread.
This takes a ref on this until the task completes.
See TaskThreadFunc for more details about how
Although GLib currently rate-limits the tasks queued via run_in_thread, 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.