gpt4 book ai didi

c++ - ram 中的共享内存或命名管道?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:29:00 25 4
gpt4 key购买 nike

我想在两个不同的程序之间进行通信。输出 LED 信息的 retrofit 流光溢彩程序和读取此信息的我自己的程序。

我阅读了有关命名管道和共享内存的内容。但对我来说,不清楚数据存储在哪里。由于我会交换大量数据,所以我不想每次都将这些数据写入磁盘。我用的是树莓派,sd 卡应该还能用一段时间 ;)

所以基本问题是:用什么方法可以在不写入磁盘的情况下与另一端交换信息?我不确定共享内存是否写入 ram,我想说清楚。我读到的另一个想法是/dev/shm ,它应该是一个 ram 磁盘。我还可以为这个位置使用命名管道吗?信息是否会保存在 ram 中?

最好的方法是什么?谢谢:)

最佳答案

I read about named pipes and shared memory. But for me it is not clear where the data is stored.

在这两种情况下,数据都存储在内存中(命名管道看起来像是驻留在文件系统中,但实际数据存储在内存中)。

用什么方法比较好,要看实际应用。管 Prop 有相当有限的缓冲区(很可能是 64kb)并且当缓冲区已满时写入它会阻塞。共享内存可以任意大,但不利的一面是,共享内存就像那样——普通内存。您必须自己处理同步等问题。

关于c++ - ram 中的共享内存或命名管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23262250/

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