网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
【哲学家就餐问题-(C)】接续第55题 (C) 引入初值为1的信号量mutex,①处填上“wait(mutex); wait(chopstick[i]); wait(chopstick[(i+1)mod 5]); signal(mutex);”,②处填上“signal(chopstick[(i+1)mod 5]); signal(chopstick[i]);”
参考答案和解析
侧面图?甲板、平台平面图?舱底平面图
更多 “【哲学家就餐问题-(C)】接续第55题 (C) 引入初值为1的信号量mutex,①处填上“wait(mutex); wait(chopstick[i]); wait(chopstick[(i+1)mod 5]); signal(mutex);”,②处填上“signal(chopstick[(i+1)mod 5]); signal(chopstick[i]);”” 相关考题
考题
关于读者写者问题,下列叙述中哪些是错误的? 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)
考题
在下面程序横线处填上适当内容,以使该程序执行结果为4.4。includeusing namespace std;
在下面程序横线处填上适当内容,以使该程序执行结果为4.4。include<iostream>using namespace std;template<typename T>T average(T*datA){T s=0;int i:0;while(data[i])【 】;return s/(i+1);}int main(){double x[]={2.5,4.5,6.5,5,0.0,5,3,18.5};cout<<average(X);return 0;}
考题
对于有界缓冲区数量为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
考题
对于有界缓冲区数量为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,其初值为1 (即mutex.value=l),当mutex.value=-2时,表示有()个进程在临界区内,有()个进程等待进入临界区。
考题
单选题()用来初始化一个互斥锁。A
pthread_mutex_initB
pthread_mutex_createC
pthread_mutex_beginD
pthread_mutex_lock
热门标签
最新试卷