- 197
- 0
- 约1.77万字
- 约 95页
- 2016-11-29 发布于北京
- 举报
2016进程同步习题全
【例】一个buffer,一个生产者,一个消费者,生产者只生产一个东西,消费者只进行一次消费,即:生产者只进行一次putdata操作,消费者只进行一次getdata操作。 【解答】 设置信号量full,表示buffer是否有数据,初值为0 生产者 消费者 putdata P(full) V(full) getdata 【例】一个buffer,一个生产者,一个消费者,生产者不断进行putdata操作,消费者不断进行getdata操作,即生产者不断生产,消费者不断消费。 【解答】buffer为空时,才能进行putdata操作,只有buffer有数据时,才能进行getdata操作 信号量 full:是否有数据初值为0 empty:是否为空,初值为1 生产者: repeat P(empty) putdata V(full) 【例】一个buffer,多个生产者,多个消费者,多个生产者和消费者都在不断地存取buffer,即生产者不断地进行putdata操作,消费者不断进行getdata操作。 【解答】 只有buffer为空时能进行putdata操作,只有buffer有数据时能进行putdata操作。 不允许多个进程同时操作buffer
原创力文档

文档评论(0)