gpt4 book ai didi

c - 使用 gtk 进行多任务处理

转载 作者:太空宇宙 更新时间:2023-11-04 06:43:07 25 4
gpt4 key购买 nike

当 gtk 系统托盘图标正在运行时,我如何在后台运行一个持续的进程?我会只启动两个线程并使用一个和系统托盘图标启动进程吗?或者,还有更好的方法?抱歉,我对 gtk 有点陌生。

最佳答案

如果我理解正确的话,那么你有一个应用程序位于系统托盘中,它需要定期检查外部条件。

您的 GUI 线程不能长时间阻塞,否则会变得无响应。

我可以想到三种方法来解决这个问题:

  • 使用计时器定期从主 (GUI) 线程(g_timeout_add() 或类似线程)进行轮询。
  • 创建一个运行忙等待循环的单独线程(检查条件; sleep ;检查;冲洗并重复)。 Glib 支持 thread abstraction你可以使用它; example GThread usage in Brasero .
  • 使用异步 IO 检查条件。如果您正在监视文件或目录的更改,则可以使用 GFileMonitor来自 GIO。

关于c - 使用 gtk 进行多任务处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5238983/

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