2.4 进程同步
进程同步的主要任务:使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。
2.4.1 进程的同步基本概念
1、进程间的两种形式的制约关系
(1)间接相互制约关系 —— 源于资源共享
例如:同学都去图书馆去结束,其中书就是共享的资源;
篮球比赛中的两支队伍就是间接制约,其中篮球就是共享的资源;
(2)直接相互制约关系 —— 源于过程共享
例如:商店中的商品和消费就是直接制约,商品生产用来消费,而商品消费完才会生产;
一条流水线上的加工就是直接制约,因为每个程序之间都是合作完成的;
2、临界资源 —— 互斥访问
生产者和消费者问题:
在生产者和消费者中,生产者进程和消费者进程都是以异步方式运行的,但是它们之间必须保持同步。生产东西的人在生产时,不会预先知道市场的需要,所以他会分阶段的不停生产,而消费者对生产的东西会有适应的过程,不会在一开始就知道自身对商品的喜好而大量的囤积,所以说生产和消费是一个“捕食者