当前位置:启航官网 > 考研报考 > 试题

读者-写者问题:有两组并发进程:读者和写者,共享一个文件F,要求:允许多个读者同

2025-03-28 15:39:55

474

读者-写者问题:有两组并发进程:读者和写者,共享一个文件F,要求:

允许多个读者同时执行读操作;

只允许一个写者执行写操作;

任一写者在完成写操作前不允许其它读者或写者工作;

(4)写者执行写操作前,应让已有写者和读者全部退出。以下是采用信号量解决读者-写者问题的一种实现:

int readcount=0

semaphore writeblock,mutex; writeblock=1;

mutex=1;

cobegin//并发区域开始

//读者进程 //写者进程

process reader_i(){ process writer_j(){

P(mutex); P(writeblock);

readcount++; {写文件};

if(readcount==1) V(writeblock);

① ______ ; }

V(mutex);

{读文件};

P(mutex);

readcount--;

if(readcount==0) ②______

V(mutex);

coend//并发区域结束 请完成下列题目:

(1)补充①和②处的代码。(2分)

(2)信号量mutex的作用?(2分)

(3)假设有个写者正在写文件,此时相继来了两个读者试图读文件,请问这两个读者将分别阻塞在何处?(2分)

(4)分析该实现可能出现的写者饥饿现象。(2分)

查看答案和解析

【26考研辅导课程推荐】:26考研集训课程,VIP领学计划,26考研VIP全科定制套餐(公共课VIP+专业课1对1) , 这些课程中都会配有内部讲义以及辅导书和资料,同时会有教研教辅双师模式对大家进行教学以及督学,并配有24小时答疑和模拟测试等,可直接咨询在线客服老师领取大额优惠券。

免责声明:本平台部分帖子来源于网络整理,不对事件的真实性负责,具体考研相关内容请以各院校的官网通知为准。 如果本站文章侵犯到您的权利,请联系我们(400-108-7500)进行删帖处理。
下一篇 最后一页

启航教育热门私房课

MORE
  • 26考研VIP领学计划

    全程跟进
    形式:线上+线下
     

    查看详情

    在线咨询

  • 25考研专属VIP班

    联报优惠
    形式:线上
     

    查看详情

    在线咨询

  • 25在职考研课程

    专为在职人定制
    形式:线上
     

    查看详情

    在线咨询

2025考研

小班面授 名额有限 抢先体验

点击预约 

为你推荐