2

我有使用 system v 库(信号量、消息队列)和多个进程制作的并发应用程序(机场的并发模拟)。

我不允许使用线程,这就是为什么我有一个进程线程和多个“平面”进程。

我想添加一些图形来显示带有 GTK(带有 Cairo)库的机场的交通情况。

如何添加图形?当我尝试将其添加到机场进程时,gtk_main 会阻止整个应用程序。我考虑过创建另一个进程并将图形添加到共享内存,但我读到它不会工作。

什么是最简单/最好的选择?

非常感谢!

4

1 回答 1

0

听起来您应该创建一个单独的 GUI 进程,其他进程可以向其发送消息。一种方法是让您的 GUI 进程导出其他进程可以连接的DBus 接口。这样,当您的 GUI 进程收到来自另一个进程的消息时,您的 GTK 主循环将发出一个信号,您可以安排一个信号处理程序来处理它并相应地更新 GUI。

于 2015-06-15T04:37:48.617 回答