进程间共享内存会存在生产者消费者问题吗?

来源:7-8 进程同步之共享内存

慕UI1199501

2019-10-28

老师之前在讲线程同步时,着重强调了线程同步出现的生产者和消费者问题。之前在6-5“进程管理之进程同步”里老师有提到过:当多进程同时竞争临界资源时,系统会对多进程的使用次序进行协调。
在本节课进程共享内存,共享的内存算是临界资源吗?我的理解是共享内存不算临界资源,而且共同访问内存是我们要刻意实现的一个目标。这种模式和生产者与消费者模式的区别在哪里?

写回答

1回答

咚咚呛

2019-10-28

这是一个不错的问题,有一定的思考,也有自己的理解。

进程间共享内存一样存在生产者消费者问题。

我们说临界资源是相互竞争使用的一种资源,需要加锁以防止并发情况下一致性的问题。

这里共享内存实际上是一种共享资源,当多进程去使用共享内存的时候,是不安全的,如果并发访问,也会导致各种问题,这样的模型本质上和生产者消费者模型是一致的,所以我们使用共享内存的时候,如果面临苛刻的环境,一般也会使用额外的资源去解决同步的问题,但这不妨碍共享内存也是进程通信的一种常见方式,特别是当需要通信的数据量比较大的时候,共享内存拥有广阔的应用场景。


0
0

(新版)计算机基础,计算机组成原理+操作系统+网络

编程之前先学这门课,系统补足计算机基础知识,夯实编程地基

7739 学习 · 1580 问题

查看课程