当前位置:首页 > 内存 > 正文

共享内存有哪些用(共享gpu内存怎么利用起来)

  • 内存
  • 2024-09-02 05:57:52
  • 5767

一、共享内存有什么用?
共享内存可以被认为是最有用的进程间通信方法和最快的 IPC 形式。 两个不同的进程A和B之间共享内存意味着相同的物理内存分别映射到进程A和B的进程地址空间。 进程A可以立即看到进程B共享的内存中的数据更新,反之亦然。 由于多个进程共享同一内存区域,因此需要某种同步机制,例如互斥锁和信号量。
使用共享内存通信的一个明显优点是效率高,进程可以直接读写内存,不需要任何数据复制。 对于管道、消息队列等通信方式,在内核和用户空间都需要四份数据副本,而共享内存只复制两次数据:一份从文件输入到共享内存区域,另一份从共享内存区域复制到输出文件。 这是因为当进程共享内存时,它们并不总是在读写少量数据后取消映射。 当有新的通信时,共享内存区域被重新建立。 相反,共享区域将被保留,直到通信完成。 这样,数据内容就保存在共享内存中,并且不会写回到文件中。 共享内存的内容在取消映射时通常会写回文件。 因此,使用共享内存的通信方式是非常高效的