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

[26][30][单选]有 n 个消费者进程 Q1、Q2、...、Qn,其伪码如下:

[26]2年前 (2025-02-02)

j = 0; while (true {    wait (full;    //full 初始值为 0    P (mutex;    //mutex 初始值为 1    buffer[j] = produce item;    //生产产品    j = (j + 1 mod k;    //k 为缓冲区大小    V (mutex;    V (empty;    //empty 初始值为 C,C >= 0,整数 } 这些消费者进程在执行过程中,可能会出现下列哪一种现象?

可能死锁

正常运行

出现饥饿

产生饥饿

答案

正常运行

解析

当进程进行了 n 次消费后或每个消费者,每人都消费一个产品,当缓冲区为空时,消费者可以从缓冲区取出产品,执行 Vmutex操作此时 mutex = 1,然后判断缓冲区大小,如果缓冲区是满的,则执行 Vempty操作,所以该过程不会出现死锁,能正常运行,因为过程中会判断缓冲区的大小,不会让消费者从空的缓冲区里取产品,故选 B 选项。


转载请注明出处。

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

相关文章

[26][1][单选]在操作系统的结构设计中,采用整体结构的操作系统具有最大优点是

结构紧密,系统效率高各模块独立性好可以随意更改或替换一个模块适应性较好答案结构紧密,系统效率高解析整...

[26][2][单选]处理器处于不同状态时可执行的指令类型也不同,下列叙述中,哪一项是正确的?

处理器处于管态时只能执行特权指令处理器处于目态时可以执行全部指令处理器处于管态时可以执行全部指令处理...

[26][3][单选]中断是打断处理器的当前工作并要求其去处理某一事件的一种常用手段,中断发生时,那些正在执行的程序的暂停点称为

中断响应中断点中断请求中断程序答案中断点解析处理器暂停当前程序转而处理中断的过程称为中断响应;发生中...

[26][4][单选]系统调用是用户在程序运行时调用的操作系统所提供的一些子功能,这些系统调用可以看作是

操作系统提供给用户程序的服务操作系统自身必须用到的功能用户程序自身必须用到的功能用户程序为操作系统提...

[26][5][单选]下列哪一种调度算法是综合了多种调度算法的?

最高优先级算法轮转法(RR多级反馈队列算法先来先服务算法答案多级反馈队列算法解析在实际的计算机系统中...

[26][6][单选]假设有 2 个程序 A 和 B 同时到达,且都要执行。

A 程序的执行顺序为:在 CPU 上执行 20 秒、在设备 DEV1 上执行 10 秒、又在 CPU...