Vala,GTK:如何从不同的线程执行 UI 操作?
Vala, GTK :How do I perform UI operations from a different thread?
我有一个服务器在另一个线程中侦听端口 运行 上的消息。现在,一旦它收到消息,我需要将其显示在文本框中。
Vala、GTK 中是否有类似 runOnUiThread()(在 android 中)或等效方法?
否则还有什么选择?
与许多其他操作系统相比,显然您可以从非 UI 线程执行 UI 操作。我可以从服务器线程成功更改 Entry
的文本。不确定是否推荐这样做。
使用GLib.Idle.add在事件调度线程中安排一些事情:
Idle.add(() => {
textbox.Entry = "foo";
return Source.REMOVE;
});
我有一个服务器在另一个线程中侦听端口 运行 上的消息。现在,一旦它收到消息,我需要将其显示在文本框中。
Vala、GTK 中是否有类似 runOnUiThread()(在 android 中)或等效方法?
否则还有什么选择?
与许多其他操作系统相比,显然您可以从非 UI 线程执行 UI 操作。我可以从服务器线程成功更改 Entry
的文本。不确定是否推荐这样做。
使用GLib.Idle.add在事件调度线程中安排一些事情:
Idle.add(() => {
textbox.Entry = "foo";
return Source.REMOVE;
});