操作系统学习笔记(三)
经典进程同步问题
1 生产者-消费者问题
生产者-消费者问题是相互合作的进程关系的一种抽象,比如输入时,输入进程是生产者,计算进程是消费者,输出时,计算进程是生产者,打印进程是消费者。
解决方案一:用记录型信号量解决
假设生产者消费者之间有一共用缓冲池,具有n个缓冲区,利用互斥信号量mutex实现诸进程对缓冲池的互斥作用。empty表示空缓冲池数,full表示满缓冲池数。则可描述为:
在代码的世界尽情的翱翔吧!
经典进程同步问题
1 生产者-消费者问题
生产者-消费者问题是相互合作的进程关系的一种抽象,比如输入时,输入进程是生产者,计算进程是消费者,输出时,计算进程是生产者,打印进程是消费者。
假设生产者消费者之间有一共用缓冲池,具有n个缓冲区,利用互斥信号量mutex实现诸进程对缓冲池的互斥作用。empty表示空缓冲池数,full表示满缓冲池数。则可描述为: