glib和多线程手册

时间:2010-06-23 08:38:14

标签: gtk glib

是否有任何书籍或好的手册,但更好地预订了GTK + / glib和C / GTK +中的多线程?我需要在主窗口之外的另一个线程中运行一个函数,并使其可以取消。

2 个答案:

答案 0 :(得分:2)

GCancellable是GIO I / O库的一部分。它提供了一种简单地发送“取消自己”消息的线程安全方法,并且应该很容易在您自己的线程中实现。

只需使用g_cancelablle_new()创建GCancellable实例,然后在线程中定期轮询(使用g_cancellable_is_cancelled()),或使用信号支持。

答案 1 :(得分:0)

不推荐。 glib使用事件循环,因此您可以通过g_timeout_*()g_idle_*()处理切片,只需在取消时停止处理。