Semafor
V informatice je semafor proměnná, která řídí přístup k jednomu nebo více prostředkům. Je to nástroj, který vývojáři používají k zajištění toho, aby funkce přistupovaly pouze k platným datům a spouštěly se ve správný čas. Semafor může zabránit uváznutí nebo závodu tím, že zakáže přístup k prostředku, když není k dispozici.
V programování existují dva hlavní typy semaforů: binární a čítačové.
Binární semafory
Binární semafor je logická proměnná, která může mít pouze dvě možné hodnoty (0 nebo 1). Často se používá jako zámek k omezení přístupu k funkci nebo prostředku. Například semafor A řídí funkci getData(). Pokud A = 0, funkce getData() se nespustí. Pokud A = 1, funkce getData() se spustí. Binární semafor se také považuje za příznak nebo přepínač, který je buď zapnutý, nebo vypnutý.
Čítačové semafory
Čítačový semafor může být libovolné nezáporné celé číslo, známé také jako přirozené číslo. Jeho hodnota se může zvyšovat nebo snižovat na základě výsledků jedné nebo více funkcí. Čítačový semafor může například sledovat počet dostupných prostředků ve fondu prostředků. Pokud se hodnota semaforu snižuje rychleji, než se zvyšuje, nakonec dosáhne hodnoty 0. Hodnota 0 znamená, že už nejsou k dispozici žádné další prostředky.
NOTE: „Semafor“ ve skutečném světě je vlajka nebo jiný předmět používaný k signalizaci na dálku. Člověk může například zvednout tyč z přístaviště, aby dal kapitánovi trajektu najevo, že by chtěl nastoupit.
Otestujte své znalosti