gpt4 book ai didi

linux - 如何使用共享内存来共享程序中的数据

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

我想在Linux上写一个“嵌入式控制系统”

为了以后方便更新,我觉得多进程比多线程好

所以,这个系统可能分成3个程序

  1. “处理”,从别人那里读取一些输入数据并进行一些计算,然后将结果保存到共享内存

  2. “显示”,从共享内存中读取即时数据并选择一些数据显示在UI上(Qt编写)

  3. “数据库”,从共享内存中读取即时数据并在一段时间内保存,数据一开始会保存在二进制文件中,以后可能会用sqlite代替

还有,也许我会添加一个网络服务器来读取即时数据并通过浏览器显示

问题是:

  1. 多进程真的比多线程好吗?

  2. 如果使用多进程,那么使用共享内存,有什么缺点吗。

最佳答案

is multi-process really better multi-thread?

取决于你想做什么。多处理强制执行系统组件之间的严格分离,允许各个部分使用不同的凭据运行。它确实需要比多线程更复杂的通信机制,并会产生一些开销。

If use multi-process, how about use shared memory, is there any disadvantage.

与使用套接字的明显替代方案相比,主要缺点是它将整个系统限制在单个主机上运行。没有分布式计算。

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

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