December 2005
Beginner to intermediate
672 pages
14h 12m
German
Unsere Multithreading-Probleme lassen sich schon fast trivial beheben, indem getInstanz() zu einer synchronisierten Methode gemacht wird:
public class Singleton {
private static Singleton einzigeInstanz;
// weitere nützliche Instanzvariablen
private Singleton() {}
public static synchronized Singleton getInstanz() {
if (einzigeInstanz == null) {
einzigeInstanz = new Singleton();
}
return einzigeInstanz;
}
// weitere nützliche Methoden
}
Indem wir getInstanz() das Schlüsselwort synchronized hinzufügen, erzwingen wir, dass jeder Thread wartet, bis er an der Reihe ist, bevor er in die Methode eintritt. Das bedeutet, dass zwei Threads die Methode nicht gleichzeitig betreten können.
Ich stimme zu, dass dieses das ...