网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
在生产者消费者问题中,消费者调用wait(mutex)(mutex是互斥信号量)阻塞的条件是()。
A.有生产者进入在往缓冲区存放产品
B.有消费者进入在从缓冲区读产品
C.缓冲区空
D.缓冲区满
参考答案和解析
AC
更多 “在生产者消费者问题中,消费者调用wait(mutex)(mutex是互斥信号量)阻塞的条件是()。A.有生产者进入在往缓冲区存放产品B.有消费者进入在从缓冲区读产品C.缓冲区空D.缓冲区满” 相关考题
考题
关于读者写者问题,下列叙述中哪些是错误的? 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、有一个进程在临界区中,另一些进程正在等待进入临界区
考题
对于有界缓冲区数量为n的生产者-消费者问题来说,应设置互斥信号量mutex、资源信号量full和empty,它们的初值分别应为()。A、0、1、nB、1、n、0C、n、1、0D、1、0、n
考题
单选题对于有界缓冲区数量为n的生产者-消费者问题来说,应设置互斥信号量mutex、资源信号量full和empty,它们的初值分别应为()。A
0、1、nB
1、n、0C
n、1、0D
1、0、n
考题
单选题多个并发进程使用一个互斥信号量mutex时,如果mutex=0,则表示()A
没有进程在临界区中B
有一个进程在临界区中C
有多个进程在临界区中D
有一个进程在临界区中,另一些进程正在等待进入临界区
考题
单选题设两个进程共用一个临界段的互斥信号量mutex,当mutex=-1时表示:()。A
一个进程入了临界段,另一个进程等待B
没有一个进程进入了临界段C
只有一个进程进入了临界段D
两个进程都在等待
考题
单选题()用来初始化一个互斥锁。A
pthread_mutex_initB
pthread_mutex_createC
pthread_mutex_beginD
pthread_mutex_lock
考题
单选题对于两个并发进程,设互斥信号量为mutex,若mutex=0,则( )。A
表示没有进程进入临界区B
表示有一个进程进入临界区C
表示有一个进程进入临界区,另一个进程等待进入D
表示有两个进程进入临界区
热门标签
最新试卷