use*_*324 6 c operating-system ipc shared-memory
我正在阅读有关共享内存的教程,并发现以下声明:"如果进程希望通知另一个进程已将新数据插入共享内存,则必须使用信号,消息队列,管道,套接字或其他IPC的类型." 那么使用共享内存和其他类型的IPC仅用于通知而不是使用不需要任何其他IPC类型的IPC(例如消息队列和套接字)的主要优点是什么?
这里的区别是用于信令与共享状态的 IPC机制.
信令(信号,消息队列,管道等)适用于往往短,及时和有针对性的信息.这些机制上的事件往往会唤醒或中断另一个程序.比喻的是,"一个人将短信节目发送给另一个人?"
与上述相比,共享存储器对于共享相对较大,稳定的对象更有效,这些对象在小部件中变化或被重复读取.程序可能会不时或在收到其他信号后咨询共享内存.考虑一下,一系列程序会在家中厨房的(大)白板上写什么?
通过这些示例,您可能会说共享内存更接近文件而不是最严格意义上的IPC机制,共享内存的明显例外是