操作系统课件 第三章 处理器管理.pptVIP

  • 0
  • 0
  • 约4.52万字
  • 约 208页
  • 2026-09-18 发布于山东
  • 举报

************************************************************************************一、Empty:初值为n:1)P(empty):值-1,判断是否有缓冲区可以放产品,如果大于等于0,表示有空的缓冲区可以放产品,当产品放到缓冲区全满时,值为0,不能继续生产了2)V(empty):值+1,表示消费者取走了一个产品,多了一个空缓冲区,通知生产者可以继续生产二、Full:初值为01)P(full):值-1,判断是否有产品可以消费,如果大于等于0,表示有产品可以被消费者消费2)V(full):值+1,表示生产者生产了一个产品,通知消费者可以进行消费*1、当P(S)和V(S)不成对出现时,可能导致程序出现错误。(如V(empty)忘记写了)1)当消费者消费完产品后,由于没有执行V(empty),导致生产者生产n个产品之后,没有缓冲区可以放产品2、当生产者P(empty)和P(mutex)交换顺序,则1)每次都是先抢得互斥锁之后,再判断是否有空余缓冲区,假设此时没有空余缓冲区,则生产者阻塞等待消费者进行消费,同时也不会释放

文档评论(0)

1亿VIP精品文档

相关文档