在生产者-消费者问题中,一个生产者、一个消费者共享一个缓冲区,消费者进程的P、V原语操作的正确顺序为()。
A: P(full);…;V(empty);
B: P(full);…;V(full);
C: P(empty);…;V(full);
D: P(empty);…;V(empty);
A: P(full);…;V(empty);
B: P(full);…;V(full);
C: P(empty);…;V(full);
D: P(empty);…;V(empty);
A
举一反三
- 采用信号量和P、V原语解决生产者—消费者问题时,设:信号量Empty对应空缓冲区资源,Full对应满缓冲区资源,Mutex用于访问共享缓冲池时的互斥,则下列进程描述( )是正确的。 A: 生产者:P(Empty); P(Mutex); …; V(Mutex); V(Full)消费者:P(Full); P(Mutex); …; V(Mutex); V(Empty) B: 生产者:P(Mutex); P(Empty); …; V(Mutex); V(Full)消费者:P(Full):P(Mutex); …; V(Mutex); V(Empty) C: 生产者:P(Empty); P(Mutex); …; V(Mutex); V(Full)消费者:P(Mutex); P(Full); …; V(Mutex); V(Empty D: A、B、C均不正确
- 采用信号量和P、V原语解决生产者—消费者问题时,设:信号量Empty对应空缓冲区资源,Full对应满缓冲区资源,Mutex用于访问共享缓冲池时的互斥,则下列进程描述()是正确的。 A: 生产者:P(Mutex); P(Empty); …; V(Mutex); V(Full)消费者:P(Full):P(Mutex); …; V(Mutex); V(Empty) B: C均不正确 C: 生产者:P(Empty); P(Mutex); …; V(Mutex); V(Full)消费者:P(Mutex); P(Full); …; V(Mutex); V(Empty) D: 生产者:P(Empty); P(Mutex); …; V(Mutex); V(Full)消费者:P(Full); P(Mutex); …; V(Mutex); V(Empty)
- 采用信号量和P、V原语解决生产者—消费者问题时,设:信号量Empty对应空缓冲区资源,Full对应满缓冲区资源,Mutex用于访问共享缓冲池时的互斥,则下列进程描述()是正确的。 A: 生产者:P(Mutex); P(Empty); …; V(Mutex); V(Full)消费者:P(Full):P(Mutex); …; V(Mutex); V(Empty) B: C均不正确 C: 生产者:P(Empty); P(Mutex); …; V(Mutex); V(Full)消费者:P(Mutex); P(Full); …; V(Mutex); V(Empty) D: 生产者:P(Empty); P(Mutex); …; V(Mutex); V(Full)消费者:P(Full); P(Mutex); …; V(Mutex); V(Empty)
- 在有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的初值为N B: 信号量full的初值为0 C: 信号量mutex的初值为0 D: P(full)和P(mutex)两条语句可以颠倒顺序 E: V(mutex)和V(mutex)两条语句可以颠倒顺序
- 在生产者-消费者问题中,如果将P(full),P(mutex)的位置互换,或者将V(full),V(mutex)互换,结果分别会如何?
内容
- 0
中国大学MOOC: 采用信号量和P、V原语解决生产者—消费者问题时,设:信号量Empty对应空缓冲区资源,Full对应满缓冲区资源,Mutex用于访问共享缓冲池时的互斥,则下列进程描述( )是正确的。
- 1
在利用记录型信号量解决生产者-消费者问题中,假设有9个生产者,6个消费者,1个容量为8个缓冲区的缓冲池,用mutex表示对缓冲池的互斥使用,分别用empty,full分别缓冲池中空缓冲区的数量和非空缓冲区的数量,则初始状态下,信号量mutex,empty,full的初始值分别为多少?() A: mutex=8,empty=0,full=1 B: mutex=8,empty=1,full=0 C: mutex=1,empty=0,full=8 D: mutex=1,empty=8,full=0
- 2
在生产者和消费者问题中,可利用( )信号量,表示缓冲池中空缓冲区。 A: empty B: full C: mutex
- 3
对于共享n个缓冲区的多个生产者和多个消费者问题中,应设置互斥信号量mutex、资源信号量full和empty。它们的初值应分别是 。
- 4
在生产者和消费者问题中,生产者和消费者之间的公用缓冲池中,利用信号量empty和full分别表示缓冲池中空缓冲区和满缓冲区的数量,其初值分别为( )。