Termin przesłania rozwiązania przez moodle: 23.03.2014 23:59. Za każde rozpoczęte 12 godzin opóźnienia odejmujemy jeden punkt.
(i = 0 .. N-1) proces P(i) { powtarzaj { chce[i] = true; czekaj, aż dla wszystkich k z [0..N-1] zachodzi !(chce[k] && we[k]); we[i] = true; jeśli dla pewnego k z [0..N-1] zachodzi chce[k] && !we[k], to wykonaj (*) { chce[i] = false; czekaj, aż dla pewnego k z [0..N-1] zachodzi wy[k]; (**) chce[i] = true; }; wy[i] = true; czekaj, aż dla wszystkich k z [i+1..N-1] zachodzi !we[k] || wy[k]; czekaj, aż dla wszystkich k z [0..i-1] zachodzi !we[k]; /* SEKCJA KRYTYCZNA */ wy[i] = false; we[i] = false; chce[i] = false; (***) } }Intuicyjne znacznie zmiennych:
czekaj, aż dla wszystkich k z [0..N-1] zachodzi (!we[k] || wy[k]);Zmodyfikuj protokół następująco (modyfikacja ta opisana jest w pracy [1]):
Uwagi i pytania proszę kierować do Sławka Lasoty. Ostatnia modyfikacja: 20/03/2014