05进程管理2互斥和同步一.pptVIP

  • 2
  • 0
  • 约1.25万字
  • 约 81页
  • 2016-12-19 发布于贵州
  • 举报
* * * 4 用信号量实现进程的同步--- 生产者-消费者问题 思考1:mutex和empty两个信号量之间有什么区别吗? 思考2:多信号量的操作顺序有要求吗? 互斥信号量 mutex:防止多个进程同时进入临界区 同步信号量 empty和full:保证事件发生的顺序 缓冲区满时,Producer停止运行 缓冲区空时,Consumer停止运行 概念差别——互斥与同步(并发的两个要素) 互斥:保护临界区,防止多个进程同时进入 同步:保证进程运行的顺序合理 思考 生产者进程中,两个wait操作的顺序能否互换? 生产者进程先执行wait(mutex),再执行wait(empty), 何时会出错? 消费者进程中,先wait(mutex),再wait(full)何时会出错? * 如果某种原因使得生产者进程执行了多次,而消费者进程一次也没执行,从而全部缓冲区都存满新数据时,再执行一次生产者进程就会死锁。 如果某种原因使得消费者进程执行了多次,而生产者进程一次也没执行,从而全部缓冲区都为空时,再执行一次消费者进程就会死锁。 * 同步/互斥信号量的使用方法 互斥信号量 必定成对出现:进入临界区——临界区——退出临界区 同步信号量 未必成对出现,依赖于同步关系的性质 同步信号量和互斥信号量的操作顺序 基本原则:互斥信号量永远紧邻临界区:同步在前,互斥在后。 * 2.4.2 信号量集 一段处理代码需

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档