Sr-7-wyk-2.0-Slajd12
Algorytm Lamporta – przykład
Prześledzimy teraz działanie algorytmu Lamporta na przykładzie 3 procesów. Proces P2 chce wykonać sekcję krytyczną i wysyła żądanie oznaczone znacznikiem czasu (1, 2) do procesów P1 oraz P2 . W międzyczasie do sekcji krytycznej chce wejść również proces P1 i również wysyła żądania ze znacznikiem (2, 1) do pozostałych procesów P2 oraz P3 . Odpowiednie procesy odsyłają odpowiedzi opatrzone znacznikami czasowymi tzn. P1 i P3 do P2 , a P2 i P3 do P1 . W tym momencie procesy P1 i P2 otrzymały wszystkie niezbędne odpowiedzi, ale to proces P2 otrzymuje pozwolenie na wejście do sekcji krytycznej, ponieważ znacznik czasu jego żądania jest najmniejszy, a samo żądanie znalazło się na początku kolejki. Po wyjściu z sekcji krytycznej P2 wysyła wiadomość zwalniającą do P1 oraz P3 . Po otrzymaniu tej wiadomości żądanie P1 znajduje się na szczycie jego kolejki i P1 może wejść do sekcji krytycznej.