在生产者消费者问题中,消费者调用wait(mutex)(mutex是互斥信号量)阻塞的条件是()。A.有生产者进入在往缓冲区存放产品B.有消费者进入在从缓冲区读产品C.缓冲区空D.缓冲区满
在生产者消费者问题中,消费者调用wait(mutex)(mutex是互斥信号量)阻塞的条件是()。
A.有生产者进入在往缓冲区存放产品
B.有消费者进入在从缓冲区读产品
C.缓冲区空
D.缓冲区满
参考答案和解析
AC
相关考题:
关于读者写者问题,下列叙述中哪些是错误的? Reader() { while (TRUE) { P(mutex); rc = rc + 1; if (rc = = 1) P (w); V(mutex); ① 读操作; P(mutex); ② rc = rc - 1; if (rc = = 0) V(w); V(mutex); 其他操作; } } writer() { while (TRUE) { …… P(w); 写操作; V(w); } }A.信号量w的初值是0B.信号量mutex的初值是1C.计数器rc的初值是0 rc是互斥资源么D.语句P(mutex)的位置可以放到语句rc = rc + 1后面E.语句①②可以取消
阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。【说明】下面的Java程序演示了程序竞争资源(Mutex的实例对象)而引起程序死锁的一种例子。【Java程序】import java.applet.*;import java.awt.*;//此处声明一个互斥类class Mutex { }class A extends (1){private Mutex first,second;public A(Mutex f,Mutex s){first = f;second = s;}public void run(){//锁定first变量(2) (first){try{ //本线程挂起,等待重新调度Thread.sleep(1); //注意此处(1)不是小题序号}catch(InterruptedException e){}System. out. println("threadA got first mutex");(2) (second) //锁定second变量{ //do somethingSystem. out. println("threadA got second mutex");} //释放second变量} //释放first变量}}class B extends (1){private Mutex first,second;public B(Mutex f,Mutex s){(3) ;second = s;}public void run(){(2) (second) //锁定second变量{//do somethingtry{Thread.sleep(((int)(3*Math.random()))*1000);//本线程挂起,等待重新调度}catch(InterruptedException e){}System.out.println("threadB got second mutex");(2) (first) //锁定first变量{//do somethingSystem.out.println("threadB got first mutex");} //释放first变量} //释放second变量}}public class DeadlockExample{public static void main(String arg[]){Mutex mutexX = new Mutex();Mutex mutexY = new Mutex();AthreadA = new A(mutexX,mutexY);B threadB = new B (4);threadA.(5);threadB.start();}}
读者写者问题的解决方案如下所示。Begin————①————;read_count:=read_count+1;if read_count=1then P(wnte);————②————;读文件;————③————;read—count:=read—count—1;if read—count=Othen V(write);————④————;End假设信号量.mutex表示对read—count共享变量所关注的互斥区进行互斥,那么,①、②、③和④处应该填写的语句是A.P(mutex)、P(mutex)、V(mutex)、V(mutex)B.P(mutex)、V(mutex)、P(mutex)、V(mutex)C.V(mutex)、V(mutex)、P(mutex)、P(mutex)D.V(mutex)、P(mutex)、V(rnutex)、P(mutex)
对于有界缓冲区数量为n的生产者-消费者问题来说,应设置互斥信号量mutex、资源信号量full和empty,它们的初值分别应为()。 A.0、1、nB.1、n、0C.n、1、0D.1、0、n
请教:2016计算机四级网络工程师高分突破试题多选题64如何解答? 关于读者写者问题,下列叙述中哪些是错误的?Reader(){while (TRUE) {P(mutex);rc = rc + 1;if (rc = = 1) P (w);V(mutex); ①读操作;P(mutex); ②rc = rc - 1;if (rc = = 0) V(w);V(mutex);其他操作;}}writer(){while (TRUE) {……P(w);写操作;V(w);}}A.信号量w的初值是0B.信号量mutex的初值是1C.计数器rc的初值是0D.语句P(mutex)的位置可以放到语句rc = rc + 1后面E.语句①②可以取消
在有N个缓冲区的生产者消费者的问题中,下列叙述中哪些是错误的?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(mutex); consume_item(item); } }A.信号量empty的初值为NB.信号量full的初值为0C.信号量mutex的初值为0D.P(full)和P(mutex)两条语句可以颠倒顺序E.V(mutex)和V(mutex)两条语句可以颠倒顺序
()用来初始化一个互斥锁。A、pthread_mutex_initB、pthread_mutex_createC、pthread_mutex_beginD、pthread_mutex_lock
设两个进程共用一个临界段的互斥信号量mutex,当mutex=-1时表示:()。A、一个进程入了临界段,另一个进程等待B、没有一个进程进入了临界段C、只有一个进程进入了临界段D、两个进程都在等待
多个并发进程使用一个互斥信号量mutex时,如果mutex=0,则表示()A、没有进程在临界区中B、有一个进程在临界区中C、有多个进程在临界区中D、有一个进程在临界区中,另一些进程正在等待进入临界区
单选题多个并发进程使用一个互斥信号量mutex时,如果mutex=0,则表示()A没有进程在临界区中B有一个进程在临界区中C有多个进程在临界区中D有一个进程在临界区中,另一些进程正在等待进入临界区
单选题设两个进程共用一个临界段的互斥信号量mutex,当mutex=-1时表示:()。A一个进程入了临界段,另一个进程等待B没有一个进程进入了临界段C只有一个进程进入了临界段D两个进程都在等待
单选题()用来初始化一个互斥锁。Apthread_mutex_initBpthread_mutex_createCpthread_mutex_beginDpthread_mutex_lock
单选题对于两个并发进程,设互斥信号量为mutex,若mutex=0,则( )。A表示没有进程进入临界区B表示有一个进程进入临界区C表示有一个进程进入临界区,另一个进程等待进入D表示有两个进程进入临界区