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

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

[1]4个月前 (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][3][单选]引入中断技术可以使计算机的运行效率得到提高,下列对中断响应顺序产生影响的是

中断优先级时间片大小特权指令中断向量答案中断优先级解析在多级中断系统中,同时有多个中断请求时,CPU...

[1][7][单选]某个进程由多个线程组成,其中一个线程被调度程序选中投入运行,其他的线程有的位于就绪队列,有的被阻塞,则此时该进程的状态是

运行状态就绪状态挂起状态阻塞状态答案运行状态解析线程调度的主要功能是根据一定的调度算法,从就绪队列中...

[1][9][单选]在 Pthread 线程包中,线程操作 pthread_join 的含意是

创建一个新的线程撤销一个线程等待一个特定的线程退出参加一个新的线程答案等待一个特定的线程退出解析线程...

[1][11][单选]下列活动中,哪一种活动只存在同步关系

某年某月某日某航班的订票球队举行足球比赛汽车装配流水线上的各道工序公共复印机的使用答案汽车装配流水线...