第二章复习题(2)(2)

2019-04-22 15:42

coend

请添加必要的信号量和P、V(或wait( )、signal( ))操作实现上述过程的互斥和同步。要求写出完整的过程,说明信号量的含义并赋初值。 解:

begin

semaphore mutex=1; semaphore seat=10; semaphore S1=0; semaphore S2=0; cobegin {

process 顾客i {

P(seat); P(mutex);

//若没有空座位,顾客等待 //取号互斥

//用于顾客取号的互斥信号量

//顾客等待座位的资源信号量,当没有空座位时顾客在其上阻塞 //营业员与顾客的同步信号量,当没有顾客时营业员在其上阻塞 //顾客与营业员的同步信号量,等待叫号时顾客在其上阻塞

从取号机获得一个号码; V(mutex); V(S1); P(S2); 等待叫号; 获得服务; }

process 营业员 {

while (TRUE) {

P(S1); V(S2); 叫号;

V(seat); //空出一个座位(此行放在顾客进程的等待叫号后面也可)

//若无顾客则等待 //唤醒等待叫号的顾客 //通知营业员,已有顾客

为顾客服务; } } } coend end


第二章复习题(2)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:诚实和信任比金钱更重要

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: