【发布时间】:2020-03-04 18:26:25
【问题描述】:
我有一个应用程序通过调用 g_thread_new() 生成一个工作线程。工作线程必须将进度信息或可能发生的错误发送到根据接收到的数据更新 GUI 的主线程。
目前我正在使用:
gtk_main_context_invoke(NULL, (GSourceFunc)update_gui, data);
第一个参数(GMainContext* 类型)等于 NULL 以在主循环上下文中运行 update_gui(),以便工作人员可以继续执行实际工作。
浏览文档时发现了一个函数:
guint g_idle_add (GSourceFunc function, gpointer data);
这个函数会更适合我的应用程序,还是应该使用完全不同的函数将事件从工作线程传输到主线程?
【问题讨论】:
标签: c multithreading gtk glib gtk2