【问题标题】:is g_timeout_add thread-safe (Linux, GTK3, X11)?g_timeout_add 是线程安全的(Linux、GTK3、X11)吗?
【发布时间】:2020-02-21 15:15:00
【问题描述】:

上下文:在 Linux/Debian/Sid x86-64 上用于我的 bismon (GPLv3+) 软件(描述为 here
(GTK 3.24、Glib 2.62、Xorg 服务器、函数register_gui_postponed_BM, file gui_GTKBM.c)

问题:

可以从主线程以外的其他线程安全地调用 g_timeout_add 吗?我可以轻松确保调用将被序列化(使用 pthread 互斥锁),但我不能保证它会从主线程。这些线程是 Pthreads,而不是 Glib 线程。

thisthat 我都找到了,它们让我觉得确实很安全……但我可能理解错了。

【问题讨论】:

    标签: linux multithreading gtk glib


    【解决方案1】:

    是的。 boils down to a callg_source_attach()locks the GMainContext 将超时源添加到其中。

    【讨论】:

      猜你喜欢
      • 2013-05-24
      • 1970-01-01
      • 2016-05-28
      • 2010-12-20
      • 1970-01-01
      • 2021-10-12
      • 2015-04-18
      • 2011-10-07
      • 2012-03-02
      相关资源
      最近更新 更多