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

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

[1]12个月前 (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://pythonopen.com/?id=1754

相关文章

[1][10][单选]下列各种情况中,一定不会引起进程调度的操作是

一个进程完成工作后被撤销一个进程从运行状态变成了阻塞状态或就绪状态一个进程从阻塞状态变成了就绪状态一...

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

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

[1][35][多选]下列关于地址映射的叙述中,哪些是正确的

地址映射过程通常是由硬件完成的地址映射过程中一定要访问页目录和页表地址映射是将虚拟地址转换为物理地址...

[1][43][单选]关于网络协议的描述中,错误的是

由语法、语义与定时3个要素组成组织方式应该采用层次结构模型为网络数据交换制订的规则与标准语法是对事件...

[1][44][单选]关于OSI参考模型各层功能的描述中,错误的是

物理层实现比特流传输网络层实现介质访问控制传输层提供端到端服务应用层提供各种网络应用答案网络层实现介...

[1][46][单选]IEEE针对WLAN制订的协议标准是

IEEE 802.11IEEE 802.12IEEE 802.15IEEE 802.16答案IEEE...