Sind Semaphoren Thread-sicher?

Inhaltsverzeichnis:

Sind Semaphoren Thread-sicher?
Sind Semaphoren Thread-sicher?
Anonim

Semaphoren sind Thread-sicher wie im Javadoc erklärt: Memory Consistency Effects: Actions in a thread before call a "release" method such as release happen-before actions following a erfolgreiche "Erwerb"-Methode, wie z. B. Erwerben in einem anderen Thread. Die meisten Operationen an Objekten in Java.

Verhindern Semaphoren Rennen?

Nein, die Sperrvorgänge erfolgen atomar. Der gesamte gesperrte Bereich wird nicht atomar ausgeführt. Und denken Sie daran, dass Threads einen gemeinsamen Adressraum haben und alle an einen Prozess gebunden sind.

Ist die Verwendung von Threads sicher?

Ein MessageService-Objekt ist praktisch unveränderlich, da sich sein Zustand nach seiner Konstruktion nicht ändern kann. Daher ist es Thread-sicher. Wenn MessageService tatsächlich änderbar wäre, aber mehrere Threads nur Lesezugriff darauf haben, ist es außerdem Thread-sicher.

Ist der Thread sicher und synchronisiert?

Thread-sicher bedeutet: Methode wird sicher, um problemlos von mehreren Threads gleichzeitig aufgerufen werden zu können. synchronisiertes Schlüsselwort ist eine Möglichkeit, 'Thread-sicher' zu werden. Aber denken Sie daran: Während mehrere Threads versuchen, auf die synchronisierte Methode zuzugreifen, folgen sie der Reihenfolge, sodass der Zugriff sicher ist.

Sind Semaphoren fair?

Im Allgemeinen sollten Semaphore, die zur Steuerung des Ressourcenzugriffs verwendet werden, als fair initialisiert werden, um sicherzustellen, dass kein Thread daran gehindert wird, auf eine Ressource zuzugreifen. Beim BenutzenSemaphoren für andere Arten der Synchronisationssteuerung, überwiegen die Durchsatzvorteile einer unfairen Reihenfolge oft die Fairnessüberlegungen.

Empfohlen: