使用 GLib.Task 来执行异步操作
GLib.Task
提供用于执行异步操作的低级 API。
var task = new GLib.Task (null, null, (obj, result) => {
try {
var ret = result.propagate_boolean ();
} catch (Error err) {
// handler err...
}
});
稍后在线程或回调中:
task.return_boolean (true);
要使用 GLib.Task
内部线程池:
task.run_in_thread (() => {
task.return_boolean (true);
});