«« ( Date ) »» // «« ( Thread ) »» // drs - 2007

Re: za asistenta

by Zaharije Radivojevic
četvrtak, 03. maj 2007 - 15:47.


Postovani,

U zborci postoji greska u resenju koje se odnosi na filozofe koji
rucavaju varijante 4, 5 i 6b.
Bice ispravljene u sledecem izdanju zbirke.

Pozdrav
Zaharije

On Sun, 29 Apr 2007, Momir Djekic wrote:

> Postovani,
> imam za vas jedno pitanje u vezi Dining Philosophers problem, resenja broj 4
> i 5 iz knjige Ikodinovic/Jovanovic.
> U pitanju su resenja koja omogucuju vracanje viljuske na stol ukoliko ona
> nije na njemu (realizovano pomocu fork[] koje dobia vrednosti true ako je
> viljuska na stolu i false ukoliko nije)
> Kod je:
> procedure Philosopher(i:0..N-1);
> var left, right, first, second:0..N-1;
> begin
> left:=i;
> right:=(i+1)modN;
> while(true) do begin
> think;
> wait(mutexfork[left]);
> fork[left]:=false;
> signal(mutexfork[left]);
> pause(random);
> wait(mutexfork[right]);
> if (fork[right]) then begin
> fork[right]:=false;
> signal(mutexfork[right]);
> eat;
> dalje vracamo viljusku...
>
>
> Pitanje je:
> Filozof B sedi desno od filozofa A. Filozof A uzima levu, uzima desnu i
> krece da jede. Filozof B pocinje sa radom i posto je mutexfork njegove leve
> viljuske (a desne filozofa A) slobodan on dobija pravo pristupa, proglasava
> da je viljuska uzeta sa stola... i sada i jedan i drugi imaju viljusku.
> Sta previdjamo?
>
> Zahvalni
> Momir i Mihailo
>