gpt4 book ai didi

c - NetworkManager libnm 线程安全

转载 作者:太空宇宙 更新时间:2023-11-03 23:42:32 32 4
gpt4 key购买 nike

我正在尝试从多线程程序中使用 NetworkManager 的 libnm 绑定(bind)。 libnm 线程安全吗?我找不到有关它的任何信息。

最佳答案

libnm使用 glib 编写和 gobject .虽然他们似乎没有在他们的文档中明确提及它,但通常任何使用 glib 的东西都在 the main event loop 上运行。并期望 API 只会在主事件循环上调用(即:在事件循环运行的线程上)。

然而,Glib 本身通常是线程安全的,或者提供了确保线程安全的方法。例如,要连接到 libnm 的信号,您可以使用 g_signal_connect来自任何线程;但是,您提供的信号处理程序将在运行主循环的线程上调用。此外,您可以使用类似 g_idle_add 的内容来自任何线程,以便安排要从主事件循环调用的函数。

您还可以使用 GTask lib 来帮助您在 glib 中进行线程处理。关于 Glib main context here 的更多信息.

关于c - NetworkManager libnm 线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41573230/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com