当前位置:首页 > 四级网络工程师 > [1] > 正文内容

[1][34][多选]在有 N 个缓冲区的生产者 - 消费者问题中,下列叙述中哪些是错误的

[1]11个月前 (01-18)
producer()
{
    int item;
    while (TRUE) {
        item = produce_item();
        P(empty);
        P(mutex);
        insert_item(item);
        V(mutex);
        V(full);
    }
}

consumer()
{
    int item;
    while (TRUE) {
        P(full);
        P(mutex);
        item = remove_item();
        V(mutex);
        V(empty);
        consume_item(item);
    }
}

信号量 empty 的初始值为 N

信号量 full 的初始值为 0

信号量 mutex 的初始值为 0

P(full)和 P(mutex)两条语句可以颠倒顺序

V(full)和 V(mutex)两条语句可以颠倒顺序


答案


信号量 mutex 的初始值为 0

P(full)和 P(mutex)两条语句可以颠倒顺序


解析


empty 信号量是表示的是空缓冲区数目,这里为 N,所以其初始值为 N;full 信号量是表示的是满缓冲区数目,这里为 0,即其初始值为 0;mutex 信号量是用于实现互斥访问,初始值为 1。P(full和 P(mutex两条语句若颠倒顺序,可能导致死锁;V(full和 V(mutex两条语句若颠倒顺序,可能导致错误。故本题答案选 CD。涉及考点为第 4 章 并发与同步。


转载请注明出处。

本文链接:http://www.pythonopen.com/?id=1754

相关文章

[1][1][单选]在不同类型的操作系统中,批处理操作系统的缺点是

缺少交互性不能并发运行CPU 利用率低周转时间长大答案缺少交互性解析批处理操作系统的优点是作业流程自...

[1][15][单选]在可变分区存储管理方案中,在对一个分区进行回收时,若该分区的起始地址加长度等于空闲区表中某个登记项所表示空闲区的起始地址,则表示

该回收分区的上邻区是空闲的该回收分区的下邻区是空闲的该回收分区的上、下邻区都是空闲的该回收分区的上、...

[1][17][单选]下列哪一个页面置换算法有可能产生 Belady 异常现象

FIFOLRULFUOPT答案FIFO解析当分配给进程的物理页面数增加时,缺页次数反而增加,这一现象...

[1][18][单选]在采用虚拟存储管理方案的系统中,发生“抖动”现象是由以下哪一个原因引起的

页面尺寸过大页面尺寸过小程序编制不合理页面置换算法不合理答案页面置换算法不合理解析在采用虚拟存储管理...

[1][45][单选]在以下几种网络中,覆盖的地理范围最小的是

广域网个人区域网局域网城域网答案个人区域网解析广域网又称远程网,所覆盖的地理范围从几十公里到几千公里...

[1][48][单选]关于共享介质局域网的描述中,正确的是

在网络中可建立多条并发连接采用广播方式发送数据帧介质访问控制方法都采用CSMA/CD在逻辑上可以采用...