我们都知道,多线程与多进程都可以访问共享内存;但是二者访问的共享内存是有区别的,是不一样的。多个线程可以由同一进程产生,它们共享同一进程的地址空间,如果这些线程需要访问同一块内存空间,定义一个全局变量就可以满足;但多个进程之间的地址空间是相互独立的,如果多进程需要访问同一块内存,则不能使用全局变量,必须使用共享内存,而且共享内存是多进程间信息共享与交换最高效的方式。
共享内存针对多进程的访问并未提供锁机制,是允许多个任意进程(不要求具有父子关系)访问同一块内存空间的。进程可以将共享内存链接到自己的地址空间进行使用处理,也就是说如果进程A修改了共享内存中的某个变量值,进程B读取到该