使用 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);
});