是否有任何书籍或好的手册,但更好地预订了GTK + / glib和C / GTK +中的多线程?我需要在主窗口之外的另一个线程中运行一个函数,并使其可以取消。
答案 0 :(得分:2)
GCancellable是GIO I / O库的一部分。它提供了一种简单地发送“取消自己”消息的线程安全方法,并且应该很容易在您自己的线程中实现。
只需使用g_cancelablle_new()
创建GCancellable实例,然后在线程中定期轮询(使用g_cancellable_is_cancelled()
),或使用信号支持。
答案 1 :(得分:0)
不推荐。 glib使用事件循环,因此您可以通过g_timeout_*()
或g_idle_*()
处理切片,只需在取消时停止处理。