首页 > 试题广场 >

下面的问题曾用于一次测验:侏罗纪公园有一个恐龙博物馆和一个公

[问答题]
下面的问题曾用于一次测验:侏罗纪公园有一个恐龙博物馆和一个公园。有。名旅客和n辆车,每辆车只能容纳 1 名旅客。旅客在博物馆中逛一会儿后,排队乘坐旅行车。当一辆车可用时,它载入一名旅客,然后绕公园行驶任意长时间。若 n 辆车都己被旅客乘坐游玩,则想坐车的旅客需要等待:若一辆车己就绪,但没有旅客等待,那么这辆车等待。使用信号量同步 m 名旅客进程和 n 辆车进程。下面的代码框架是在教室的地板上发现的。忽略语法错误和丢掉的变量声明,请判定它是否正确。注意,P 和 V 分别对应于 semWait和semSignal。
resource Jurassic_Park ()
sem car_avail := 0; car_taken := 0; car_filled := 0; passenger_released :=0
    process passenger ( i := 1 to num_passengers )
    do true -> nap ( int (random(1000 * wander_time) ) )
     P ( car_avail ); V( car_taken); P( car_filled )
     P ( passenger_released)
    od
end passenger
process car ( j := 1 to num_cars)
    do true -> P ( car_avail ); V( car_taken); P( car_filled )
     nap ( int (random(1000 * wander_time) ) )
     P ( passenger_released)
    od
end car
end Jurassic_Park

这道题你会答吗?花几分钟告诉大家答案吧!