• 2022-11-03
    在有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)两条语句可以颠倒顺序
  • C,D

    举一反三

    内容

    • 0

      在生产者-消费者问题中,应设置互斥信号量mutex,公有信号量full和empty,它们的初值分别是1,0,n(缓冲区大小)。

    • 1

      在生产者——消费者问题中,应设置互斥信号量mutex、资源信号量full和empty。它们的初值应分别是( )

    • 2

      对于有界缓冲区数量为n的生产者—消费者问题,应设置互斥信号量mutex、资源信号量full和empty,它们的初值应分别是1、和n。

    • 3

      对于共享n个缓冲区的多个生产者和多个消费者问题中,应设置互斥信号量mutex、资源信号量full和empty。它们的初值应分别是 。

    • 4

      在生产者—消费者问题中(缓冲区为n个),应设置互斥信号量mutex,<br/>资源信号量full和empty。它们的初值应分别是1,0,( )。 A: 0 B: 1 C: n D: n-1