【问题标题】:Manual of glib and multithreadingglib 和多线程手册
【发布时间】:2010-06-23 08:38:13
【问题描述】:

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

【问题讨论】:

    标签: gtk glib


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      不推荐。 glib 使用事件循环,因此通过g_timeout_*()g_idle_*() 进行切片处理,并在您想取消它时停止处理。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-06
        • 2015-08-21
        • 1970-01-01
        • 2011-12-06
        • 2019-11-09
        • 1970-01-01
        相关资源
        最近更新 更多