我有一台服务器正在侦听在不同线程中运行的端口上的消息。现在收到消息后,我需要将其显示在文本框中。
在Vala,GTK中是否存在类似runOnUiThread()(在android中)或等效的方法?
或者有什么替代方案?
答案 0 :(得分:4)
使用GLib.Idle.add在事件派发线程中安排某些事情:
Idle.add(() => {
textbox.Entry = "foo";
return Source.REMOVE;
});
答案 1 :(得分:-1)
与许多其他操作系统相比,显然您可以从非UI线程执行UI操作。我可以从服务器线程成功更改Entry
的文本。不确定是否建议这样做。