- 7
- 0
- 约 30页
- 2016-01-20 发布于未知
- 举报
康振华编制 2.4 经典的进程同步问题 问题描述 一个有限空间的共享缓冲区,负责存放货物 生产者向缓冲区中放物品,缓冲区满则不能放 消费者从缓冲区中拿物品,缓冲区空则不能拿 生产者-消费者问题分析 互斥关系分析 任何时刻,只能有一个进程在缓冲区中操作 引入互斥信号量(二元信号量) 信号量为0,表明已有进程进入临界区; 同步关系分析 对于“生产者”而言,缓冲区满则应等待 引入同步信号量“empty”,为0表示缓冲区满 对于“消费者”而言,缓冲区空则应等待 引入同步信号量“full”,为0表示缓冲区空 2、哲学家就餐问题 问题描述 五个哲学家坐在圆桌前,每人一份炒饭 每个哲学家两侧各有一支筷子 哲学家处于吃饭和思考两种状态 哲学家就餐问题分析 互斥关系分析 筷子:同一时刻只能有一个哲学家拿起筷子 同步关系分析 就餐:只有获得两个筷子后才能进餐 特殊情况考虑 死锁:如果每个哲学家都拿起一只筷子,都饿死 并行程度:五只筷子允许两人同时进餐 3、读者-写者问题 问题描述 写者向数据区放数据,读者从数据区获取数据 多个读者可同时读取数据 多个写者不能同时写数据 读者和写者的控制策略变化多端 读者-写者问题分析 互斥关系分析 读者和写者不能同时进入共享数据区 多个写者不能同时进入共享数据区 多个读者可以同时进入共享数据区 同步关系分析 读者进入缓冲区,写者必须等待 写者进入缓冲区,读者
原创力文档

文档评论(0)