同步:相互合作的两个进程之间需要在某个(些)确定点协调它们的工作,一个进程到达了该点后,除非另一进程已经完成了某些操作,否则就不得不停下来,等待这些操作的完成。这就是进程间的同步。
互斥:
两个进程由于不能同时使用同一临界资源,只能在一个进程使用完了,另一进程才能使用,这种现象称为进程间的互斥。
特征:
①同步的主要特征是:一个进程在某一点上等待另一进程提供信息,两进程之间存在直接制约关系,其表现形式为进程—进程。
②互斥的主要特征是争用资源,两进程间存在间接制约关系,其表现形式是进程—资源—进程
就拿生产者-消费者模型来说吧,对于只有一个生产者和一个消费者的时候,生产者生产东西,给缓冲区写数据,消费者从缓冲区读取数据,消费者必须在生产者之后进行,这个时候就是一种同步的关系。
另外,如果有许多生产者和消费者的时候,就生产者之间是一种互斥的关系,这个时候使用互斥信号量mutex进行,因为它们之间都可以进行访问,就看它们的互斥结果了。
阅读(1254) | 评论(0) | 转发(0) |