Semafor
W informatyce semafor to zmienna, która kontroluje dostęp do jednego lub większej liczby zasobów. Jest to narzędzie używane przez programistów, aby zagwarantować, że funkcje uzyskują dostęp tylko do prawidłowych danych i wykonują się we właściwym czasie. Semafor może zapobiegać zakleszczeniu lub wyścigowi, uniemożliwiając dostęp do zasobu, gdy nie jest on dostępny.
W programowaniu istnieją dwa główne typy semaforów: binarne i zliczające.
Semafory binarne
Semafor binarny to zmienna logiczna, która może przyjmować tylko dwie wartości (0 lub 1). Często służy jako blokada ograniczająca dostęp do funkcji lub zasobu. Na przykład semafor A kontroluje funkcję getData(). Jeśli A = 0, funkcja getData() nie zostanie wykonana. Jeśli A = 1, funkcja getData() zostanie wykonana. Semafor binarny jest również uznawany za flagę lub przełącznik, który jest włączony albo wyłączony.
Semafory zliczające
Semafor zliczający może mieć dowolną nieujemną wartość typu liczba całkowita, nazywaną również liczbą całkowitą nieujemną. Jego wartość może zwiększać się lub zmniejszać w zależności od wyników działania jednej lub większej liczby funkcji. Na przykład semafor zliczający może śledzić liczbę dostępnych zasobów w puli zasobów. Jeśli semafor jest zmniejszany częściej, niż zwiększany, w końcu osiągnie wartość 0. Wartość zero oznacza, że nie ma już dostępnych zasobów.
NOTE:Semafor w świecie rzeczywistym to flaga lub inny przedmiot używany do przekazywania sygnałów na odległość. Na przykład osoba może unieść drąg z pomostu, aby zasygnalizować kapitanowi promu, że chce wejść na pokład.[/n]
Sprawdź swoją wiedzę