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

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

[1]2年前 (2025-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][2][单选]在下面列出的计算机操作中,只能在操作系统内核下运行的是

关机读文件设置时间屏蔽中断答案屏蔽中断解析特权指令包括输入输出指令、停机指令等,只有在监控程序才能执...

[1][5][单选]采用多道程序设计技术可以

提高 CPU 的利用率加快程序运行速度保证程序运行的正确性减少设备的损耗答案提高 CPU 的利用率解...

[1][14][单选]下列存储管理方案中,允许动态扩充内存容量的方案是

固定分区可变分区页式虚拟页式答案虚拟页式解析用户在编程时,不应该受内存容量限制,所以要采用一定的技术...

[1][26][单选]设备管理中,为了管理和分配设备建立了一个数据结构,通常称为设备表。它的作用是

管理物理设备管理逻辑设备实现即插即用建立逻辑设备与物理设备之间的对应关系答案建立逻辑设备与物理设备之...

[1][31][多选]在计算机存储体系中,操作系统涉及的存储设备为

寄存器高速缓存内存硬盘网盘function addCheckboxClickListener(con...