首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
有n个生产者进程向1个有限的缓冲区不断地发送消息,这些消息通过缓冲区分发到m个消费者,缓冲区的大小只可以存放1条消息。生产者和消费者的工作遵循如下规则: (1)生产者和消费者对缓冲区的访问互斥; (2)对每1条放入缓冲区的消息,所有消费者都
有n个生产者进程向1个有限的缓冲区不断地发送消息,这些消息通过缓冲区分发到m个消费者,缓冲区的大小只可以存放1条消息。生产者和消费者的工作遵循如下规则: (1)生产者和消费者对缓冲区的访问互斥; (2)对每1条放入缓冲区的消息,所有消费者都
admin
2012-06-26
39
问题
有n个生产者进程向1个有限的缓冲区不断地发送消息,这些消息通过缓冲区分发到m个消费者,缓冲区的大小只可以存放1条消息。生产者和消费者的工作遵循如下规则:
(1)生产者和消费者对缓冲区的访问互斥;
(2)对每1条放入缓冲区的消息,所有消费者都必须接收1次;
(3)缓冲区满时,生产者必须阻塞,缓冲区空时,消费者阻塞。
请用信号量和P、V操作组织正确的发送和接收。用类C语言进行描述。
选项
答案
本题的解答采用分离的信号量来实现,可以比较清楚地看到操作的过程。 typedef int semaphorle; //定义信号量 semaphore mutex; //缓冲区互斥信号量用于读写互斥 semaphore empty[m]={1,1…,1}; //当前缓冲区所有格子为空 semaphore grid[m]={0,0…,0}; //缓冲区的每个格子满的信号量 void producer() //生产者 {int i,buffer; while(1) //并发调度 { message=produce(); //生产者生产消息 for(i=0,i
解析
本题是经典的生产者和消费者问题的变形。在经典的生产者和消费者的模型中,生产者和消费者共用一组缓冲区,生产者向缓冲区中写入一次数据,消费者从缓冲区中读出一次数据,即写一次,读一次。本题中,生产者向缓冲区中只写一次,但是每个消费者却都要读一次。对于此类问题,可以把缓冲区看成是m格的缓冲区阵列,这样一来,生产者每写一次缓冲区,相当于填满了一块m格的缓冲区,而消费者只需要读出属于自己格子的消息即可,当所有的格子读空以后,这个缓冲区就可以接纳下一个生产者的写入。分析清楚其工作机制,我们可以从经典的生产者和消费者问题出发,来设计相应的信号量。信号量的设计可以是信号量组,也可以采用分离的信号量来实现。
转载请注明原文地址:https://kaotiyun.com/show/hyxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
百年战争最终以法国的胜利,英国的失败而告终,其主要原因是()
1917年11月7日晚,全俄苏维埃第二次代表大会召开,大会批准了苏维埃政府的组成结构,其中人民委员会的主席是()。
西安事变中,蒋介石最终接受停止内战,联共抗日的主张,其主要原因是()。
《天朝田亩制度》既有革命性又有空想性,这是由()决定的。
20年代国际关系的中心是()。
试析英法绥靖政策和美国中立政策的原因。(南京大学2013年国际关系史真题)
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
什么是域名解析?域名解析中采取了什么措施提高效率?对同一个域名向DNS服务器发出多次的DNS请求报文后,得到IP地址都不一样,可能吗?为什么?
某计算机系统字长为32位,包含2个选择通道和1个字节多路通道,每个选择通道上连接了2台磁盘机和2台磁带机,字节多路通道上连接了2台行式打印机、2台读卡器、10台终端。假定各设备的传输率如下:磁盘机:800KB/s磁带机:200KB/s
已知单个存储体的存储周期为110ns,总线传输周期为10ns,则当采用低位交叉编址的多模块存储器时,存储体数应()。
随机试题
能刺激体内血管升压素(ADH)分泌的因素有哪些?
农村基层民主政治建设的主要途径是
对于工程师代表发出的指令、通知,描述正确的是()。
企业提取盈余公积的主要目的是为了防范企业经营风险等的需要。()
简述现代地理教育技术的意义。
西方的法治,尽管并不排斥道德,但无疑在宣扬法律至上的同时有意无意地忽略了道德,西方社会普遍存在的情感危机与道德沦丧就是明证:传统的德治却是主张德主刑辅,法是德的附属,贬抑了法的作用,也与时代的发展不相适应。所以,对二者都要加以扬弃和改造,抽取各自的合理内核
为了推行教育扶贫方案和落实“全上学”计划,某县准备选取2个中职学校作为教育试点开展“扶贫励志班”。如果你是教育局的工作人员,领导让你负责本次工作,请问你会如何开展?
Whenamanknowsthathewillbeputintoprisonifheusesapotentiallydeadlyobjecttorobordoharmtoanotherperson,he
设α=[a1,a2,…,an]T,β=[b1,b2,…,bn]T≠0,且αTβ=0,A=E+αβT,试计算:(1)|A|;(2)An;(3)A-1.
设yt=t2+3,则△2yt=__________.
最新回复
(
0
)