Semaphor

In der Informatik ist ein Semaphor eine Variable, die den Zugriff auf eine oder mehrere Ressourcen steuert. Es ist ein Werkzeug, das Entwickler verwenden, um sicherzustellen, dass Funktionen nur auf gültige Daten zugreifen und zum richtigen Zeitpunkt ausgeführt werden. Ein Semaphor kann einen Deadlock oder eine Race Condition verhindern, indem er den Zugriff auf eine Ressource verweigert, wenn sie nicht verfügbar ist.

In der Programmierung gibt es zwei Haupttypen von Semaphoren: binäre und Zählsemaphoren.

Binäre Semaphoren

Ein binärer Semaphor ist eine boolesche Variable, die nur zwei mögliche Werte haben kann (0 oder 1). Er wird häufig als Sperre verwendet, um den Zugriff auf eine Funktion oder Ressource einzuschränken. Beispielsweise steuert Semaphor A die Funktion getData(). Wenn A = 0 ist, wird getData() nicht ausgeführt. Wenn A = 1 ist, wird getData() ausgeführt. Ein binärer Semaphor wird auch als Flag oder Schalter betrachtet, der entweder ein- oder ausgeschaltet ist.

Zählsemaphoren

Ein Zählsemaphor kann jede nicht negative Ganzzahl sein, die auch als ganze Zahl bezeichnet wird. Sein Wert kann abhängig von den Ergebnissen einer oder mehrerer Funktionen steigen oder fallen. Beispielsweise kann ein Zählsemaphor die Anzahl der verfügbaren Ressourcen in einem Ressourcenpool erfassen. Wenn der Semaphor häufiger dekrementiert als inkrementiert wird, erreicht er schließlich 0. Der Wert 0 zeigt an, dass keine weiteren Ressourcen verfügbar sind.

NOTE: Ein „Semaphor“ ist in der realen Welt ein Flag oder ein anderes Objekt, das verwendet wird, um aus der Entfernung ein Signal zu geben. Beispielsweise kann eine Person einen Pfahl von einem Anleger aus hochhalten, um einem Fährkapitän zu signalisieren, dass sie an Bord kommen möchte.

Aktualisiert February 1, 2020 von Per C.

quizTesten Sie Ihr Wissen

Which version of Mac OS X preceded Mac OS X 10.7 Lion?

A
Panther
0%
B
Jaguar
0%
C
Puma
0%
D
Snow Leopard
0%
Correct! Incorrect!     View the Snow Leopard definition.
More Quizzes →

Das Tech Terms Computer-Lexikon

Die Definition von Semaphor auf dieser Seite wurde von den Autoren von TechTerms.com verfasst. Wenn Sie auf diese Seite verweisen oder diese Definition zitieren möchten, verwenden Sie bitte die grüne Zitierleiste direkt unterhalb der Definition.

Unser Ziel ist es, Computerbegriffe auf verständliche Weise zu erklären. Wir streben bei jeder veröffentlichten Definition nach Genauigkeit und Einfachheit. Wenn Sie Feedback zu dieser Definition haben oder einen neuen Fachbegriff vorschlagen möchten, kontaktieren Sie uns.

Der Tech Terms Newsletter

Erweitern Sie Ihr technisches Wissen mit unserem täglichen oder wöchentlichen Newsletter! Abonnieren Sie noch heute und erhalten Sie neue Begriffe und Quizze in Ihren Posteingang.

Melden Sie sich für den kostenlosen TechTerms‑Newsletter an

Wie oft möchten Sie eine E-Mail erhalten?

Sie können sich jederzeit über die Links in jeder E-Mail abmelden oder Ihre Einstellungen ändern. Fragen? Bitte kontaktieren Sie uns.

Hinweis: Der Newsletter wird auf Englisch versandt.