进程间通信中的共享内存

进程间通信中的共享内存

我研究过,为了使进程能够相互沟通,它们需要保持各自的临界区在共享内存中,以便其他需要访问的进程可以使用它,使用不同的变量进行互斥,如信号量和锁。

但是这个共享内存位于哪里,是同一个共享内存吗/dev/shm当我们执行 df -h 时我们会看到,/dev/shm 有时会使用一些空间,有时则不会。为什么会这样?

答案1

您可以通过多种方式创建共享内存。您可以内存映射在两个进程中共享的同一个文件。或者您可以使用 sysv 共享内存shm_open

相关内容