5 Stimmen

Wie wurde das synchronisierte Schlüsselwort in Java implementiert?

Ich lese gerade Betriebssysteme und bin auf mehrere Probleme bei der Kommunikation zwischen Prozessen gestoßen. Diese können gelöst werden durch die Verwendung von überwachen Konzepte, die Java über synchronized Stichwort.

Ich möchte wissen, wie synchronized Schlüsselwort umgesetzt worden sind? Ich habe versucht, im Quelltext nachzusehen, aber ich konnte es nicht finden. Sind synchronized verwenden Systemaufrufe wie down up (die Semaphore im Grunde verwendet), um die Sperren zu überwachen?

Ist JVM bei diesem Prozess hilfreich?

Ich bin ein Neuling in Java, ich möchte wissen, wie die Dinge funktionieren, bevor ich in Thread-Konzepte in Java gehen.

Vielen Dank im Voraus.

6voto

Peter Lawrey Punkte 511323

Wie synchronisiert wird, ist nicht definiert, nur wie es funktioniert.

In vielen JVMs ist das, was es tut, ziemlich kompliziert, um sein Verhalten zu optimieren (z. B. versucht es, Systemaufrufe zu vermeiden, da diese relativ langsam sind). So kann das JIT z. B. Sperren mit dem Schlüsselwort synchronized kombinieren oder eliminieren, wenn es feststellt, dass dies möglich ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X