GTK / Glib:如何将消息从GUI线程发布到工作线程?

时间:2011-09-16 12:40:01

标签: gtk glib

GTK不是线程安全的,但是线程感知 - 它可以在多个线程中使用,确保全局锁用于保护GTK API调用。如果我需要从工作线程发布消息到GTK GUI线程,我只需调用gdk_threads_add_idle()并在一段时间后在GUI线程中调用指定的回调。

但是做相反事情的简单方法是什么 - 当用户点击按钮时,从non-GUI线程调用指定的回调?

1 个答案:

答案 0 :(得分:2)

没有什么可以阻止您使用g_main_loop_new创建新的非GUI循环,使用g_main_loop_run从非GUI线程运行它,并在需要时从GUI线程调用g_idle_add。 / p>