Was passiert im folgenden Code? Funktioniert die Synchronisation? Dies ist eine Interviewfrage.Was passiert, wenn die Synchronisationsvariable in Java neu zugewiesen wird?
class T
{
public static void main(String args[])
{
Object myObject = new Object();
synchronized (myObject)
{
myObject = new Object();
} // end sync
}
}
Ihr synchronisierter Block befindet sich in der Haupt- und nicht in einer Schleife, er wird nur einmal ausgeführt. Kein Punkt in der Synchronisierung hier (es sei denn, Sie nennen das Haupt von einem anderen Haupt, das würde komisch sein). – assylias