作者lovefo (lovefo)
看板Grad-ProbAsk
标题[理工] [OS]-The sleeping Barber problem
时间Mon Feb 8 11:45:38 2010
我笔记这部分的程式码 写的乱乱的(朋友给的)
所以 不太确定正确性 希望大家能帮我看看有没有错..
Customer :semaphore = 0
Barber :semaphore = 0
waiting :int = 0
mutex :int = 0
Barber 程式片段:
repeat:
wait(Customer);
wait(mutex);
waiting = waiting - 1;
signal(Barber);
signal(mutex);
cut-hair();
until False
Customer 程式片段:
wait(mutex);
if(waiting<n) then
{
waiting = waiting + 1;
signal(Customer);
signal(mutex);
wait(Barber);
get-haircut();
}
else
signal(mutex);
这样对吗?
因为剩这几个还没背..
怕背错
--
一切....
似乎不再那麽重要....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.46.164.114
1F:推 harry5438:YES 02/19 15:57