在生产者-消费者问题中,应设置互斥信号量mutex来控制对缓冲池的访问。对于信号量的初值,应该根据缓冲池的大小来设置。由于缓冲池中有n个缓冲区,因此互斥信号量的初值应该为B选项1。这是因为在开始时,只有一个进程可以对缓冲池进行访问,其他进程需要等待。当一个进程访问完缓冲池后,应该将互斥信号量的值加1,表示可...
在生产者消费者问题中,应设置互斥信号量mutex、资源信号量full和empty。它们的初值应分别为(A)、(B)、( ) A. (1)0;(2)1;(3)1;(4)n;(5)+n。 B. (1)0;(2)1;(3)1;(4)n;(5)+n。 C. (1)0;(2)1;(3)1;(4)n;(5)+n。
答案:在生产者-消费者问题中,如果颠倒两个P操作可能会发生死锁。在缓冲区满时,生产者仍可顺利执行P(mutex)操作,于是它获得了对缓冲区的存取控制权。然后当它执行P(empty)时,由于没有空缓冲区而被挂起。能够将这个生产者进程释放的唯一途径是消费者从缓冲区取出一个产品,并执行V(empty)操作。但在此时,由于缓冲...
在生产者消费者问题中,以下关于唤醒操作正确的是()。A.生产者唤醒其它生产者B.生产者唤醒消费者C.消费者唤醒其它消费者D.消费者唤醒生产者
在生产者-消费者问题中,关于信号量的设置,正确的说法为:A.设置互斥信号量 mutex,表示缓冲池是否可用,初值为1。B.设置生产者的同步信号量empty,表示空缓冲区个
消费一个产品; } } 由于V操作是释放资源,因此对调V操作的次序无关紧要。而对调P操作的次序则可能导致死锁.这是因为对调P操作后,有可能出现这样一种特殊情况:在某一时刻缓冲区中已装满了产品且缓冲区中无进程工作(这时信号量full的值为n,信号量empty的值为0,信号量mutex的值为1),若系统此时调度生产者进程运行...
百度试题 题目在生产者-消费者问题中,缓冲池包含n个缓冲区,应设置互斥信号量mutex。它的初值应分别为( )。 A.0B.1C.-1D.-nE.+n相关知识点: 试题来源: 解析 B
百度试题 题目【填空题】在生产者消费者问题中,应设置互斥信号量mutex,资源信号量full、empty,他们的初值分别为(_)(_)(_) 相关知识点: 试题来源: 解析 ["1","0","n"]
答:如果生产者进程中缺少了 signal(full),生产者一开始是不断往缓冲池送消息,而消费 者一开始就因为 full 为 0 而处于阻塞状态,当所有缓冲区装满之后,由于 empty 由 n 减为 0,而消费者已经阻塞,生产者也会因为 wait(empty)而处于阻塞状态。产生死锁。 消费者进程中缺少了 signal(empty),缓冲区指针 in 从...
答:信号量mutex的作用是保证各生产者进程和消费者进程对缓冲池的互斥访问。信号量empty和full均是资源信号量,它们分别对应于缓冲池中的空闲缓冲区和缓冲池中的产品,生产者需要通过wait(empty)来申请使用空闲缓冲区,而消费者需要通过wait(full)才能取得缓冲中的产品,可见,这两个信号量起着同步生产者和消费者的作用,...