Zurück zur Übersicht

Begriff

Semaphore (Semaphor)

Computer Science Concurrency S3
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Ein Parkhaus-Zähler. Am Eingang steht eine Schranke und eine Anzeige: "Freie Plätze: 3".

  • Auto fährt rein -> Anzeige: 2.
  • Auto fährt rein -> Anzeige: 1.
  • Auto fährt rein -> Anzeige: 0.
  • Nächstes Auto kommt -> Schranke bleibt unten. Es muss warten.
  • Ein Auto fährt raus -> Anzeige: 1 -> Schranke geht hoch, Wartender darf rein. Eine Semaphore kontrolliert den Zugriff auf eine Ressource, von der es mehr als eine gibt (z. B. "Maximal 5 Datenbank-Verbindungen gleichzeitig").

Merksatz: Eine Variable, die den Zugriff auf eine begrenzte Anzahl von Ressourcen durch Zählen und Blockieren steuert.


Quick-Check

  1. Was heißt das Wort?
    Aus dem Griechischen (Zeichenträger). Früher waren das optische Telegrafen (Masten mit beweglichen Armen) für die Eisenbahn oder Schiffe.
  2. Kann der Zähler negativ werden?
    Intern ja (bedeutet: "So viele warten"). Aber nach außen hin blockiert die Funktion einfach.
  3. Sind sie sicher?
    Fehleranfällig. Wenn man ein signal() vergisst, hängt das System. Monitore (Java synchronized) sind eine sicherere Abstraktion darüber.