Wenn ein synchronisierter Block für die Synchronisation einer Objektinstanz verwendet wird, konkurrieren Threads um in den impliziten Monitor des Objekts zu gelangen. Und sobald ein bestimmter Thread in den Monitor eindringt, muss jeder andere Thread darauf warten, in ihn einzutreten. Dann
%Vor%darf keine bestimmten Objekttypen erzwingen. Daher kann jeder Objekttyp hier verwendet werden, da jedes Objekt seinen impliziten Monitor hat.
Bitte antworten Sie mir, ist es wahr?
Ja, jedes Java-Objekt kann als Monitor fungieren.
Und da dies eine so kurze Antwort ist, ist das für den Bonus ein interessanter Hinweis: Erstellt die JVM für jedes Objekt einen Mutex, um das Schlüsselwort 'synchronized' zu implementieren? Wenn nicht, wie?
Beachten Sie auch, dass C # mit ihren Objekten etwas Ähnliches tut, aber auch Werttypen (die keine Monitore sind)
Tags und Links java