我想在Linux上写一个“嵌入式控制系统”
为了便于将来的更新,我认为多进程比多线程要好
所以,这个系统可以分成3个程序
“进程”,从其他进程中读取一些输入数据并进行一些计算,然后将结果保存到共享内存中
“display”,从共享内存读取即时数据,并选择一些数据显示在UI上(由Qt编写)
“数据库”,从共享内存中读取即时数据并在一段时间内保存,数据将首先保存在二进制文件中,以后可能使用sqlite代替
诺尔,也许我会添加一个web服务器来读取即时数据并通过浏览器显示出来
问题是:
多进程真的比多线程更好吗?
如果使用多进程,如何使用共享内存,有没有什么缺点。

最佳答案

多进程真的比多线程更好吗?
取决于你想做什么。多处理在系统组件之间实施严格的分离,允许不同的部分使用不同的凭据运行。它确实需要比多线程更复杂的通信机制,并且会带来一些开销。
如果使用多进程,如何使用共享内存,有没有什么缺点。
与使用套接字的明显替代方法相比,它的主要缺点是,它将整个系统限制为在单个主机上运行。没有分布式计算。

关于linux - 如何使用共享内存在程序中共享数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8726503/

10-12 00:16
查看更多