5.8. Mit Multithreading klarkommen
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 ...
Get Entwurfsmuster von Kopf bis Fubß now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.