Chapter 2. Komunikacja asynchroniczna

Table of Contents

Wzajemne wykluczanie
Producenci i konsumenci
Czytelnicy i pisarze
Metoda Pojedynczego Przetwarzania Żądań
Rozwiązanie klasyczne
Zasoby
Tylko zasób A
Rozwiązanie

Wzajemne wykluczanie

Uruchamiamy współbieżnie dwa następujące procesy.

process P (i : integer);
begin
  while (true) do
  begin
    sekcja_lokalna;
    ...
    rejon_krytyczny;
    ...
  end;
end;

Chcemy zapewnić, że w tym samym czasie co najwyżej jeden z nich wykonuje fragment programu oznaczony rejon_krytyczny.

Warianty:

  • Dwa procesy.

  • N procesów.

  • Uogólnienie problemu. Czasami zachodzi potrzeba, aby ogranicznyć liczbę procesów w sekcji krytycznej nie do jednego, ale do pewnej ustalonej liczby M.