我有使用 system v 库(信号量、消息队列)和多个进程制作的并发应用程序(机场的并发模拟)。
我不允许使用线程,这就是为什么我有一个进程线程和多个“平面”进程。
我想添加一些图形来显示带有 GTK(带有 Cairo)库的机场的交通情况。
如何添加图形?当我尝试将其添加到机场进程时,gtk_main 会阻止整个应用程序。我考虑过创建另一个进程并将图形添加到共享内存,但我读到它不会工作。
什么是最简单/最好的选择?
非常感谢!
听起来您应该创建一个单独的 GUI 进程,其他进程可以向其发送消息。一种方法是让您的 GUI 进程导出其他进程可以连接的DBus 接口。这样,当您的 GUI 进程收到来自另一个进程的消息时,您的 GTK 主循环将发出一个信号,您可以安排一个信号处理程序来处理它并相应地更新 GUI。