选程间的同步关系(三) 诉算短程 完成数据计算 打印进程 计算结果送到Bufe 互斥通知计算进程 通知打印进程打印 到合作 送下一个数 eS「从 Buffer中取数 打印
进程间的同步关系(三) 计算进程 打印进程 计算结果送到Buffer 从Buffer中取数 Buffer 互斥 完成数据计算 打印 通知打印进程打印 通知计算进程 合作 送下一个数
选程间的同步关系 相互合作 司机与售票员 计算者与打印者 竟争资源 多个打印者
进程间的同步关系 司机与售票员 多个打印者 计算者与打印者
司机 售票员 正常行车 售票 否 同步 卜到站停车 到站停车 叶叶中 开车门是 [检查车况] 关车 维持秩序 开车 同步 关车门
正常行车 到站停车 开车 售票 开车门 关车门 司机 售票员 同步 同步 到站停车 否 是 检查车况 否 维持秩序 关车门 是
同步实现初探(二) 打印进程1 打印进程2 获得打印数据 获得打印数据 否 打印机可用?> 打印机可用? 是 设置打印机为不可用 设置打印机为不可用 打印 打印 互斥
同步实现初探(二) 打印进程 1 打印进程 2 打印 打印 互斥 获得打印数据 获得打印数据 打印机可用? 设置打印机为不可用 是 否 打印机可用? 设置打印机为不可用 是 否
同步实现初探(三) 计算进程 打印进程 完成数据计算 互斥 计算结果送到 Buffer Buffer空 向打印进程发信号 Buffer 通知其从 Buffer里取数 从 Buffer中取数 否 互斥 Buffer空? 作 打印 向计算进程发信号 是 通知其向Bufe送数
同步实现初探(三) 计算进程 打印进程 计算结果送到Buffer 从Buffer中取数 Buffer 互斥 互斥 向打印进程发信号 通知其从Buffer里取数 Buffer空? 否 是 完成数据计算 打印 向计算进程发信号 通知其向Buffer送数 Buffer空? 否 是 合作