iX 9/2019
S. 110
Wissen
Design Patterns

Wie man ein Singleton-Pattern threadsicher initialisiert

Kreatives Muster

Rainer Grimm

Das Singleton-Pattern lässt sich in einer Multi-Threading-Umgebung auf viele Arten initialisieren. Wichtig ist, undefiniertes Verhalten eines Programms zu vermeiden und die Zugriffe performant zu gestalten.

Ein Entwurfsmuster oder Pattern beschreibt eine generische Lösung für ein in einem bestimmten Kontext wiederkehrendes Entwurfsproblem. Das Gegenstück dazu heißt Antipattern und zeigt ein Negativbeispiel einer Vorgehensweise, um daraus Lehren zu ziehen.

Das Singleton-Pattern ist ein klassischer Anwendungsfall für eine Variable, die sich nur einmal initialisieren und dann nur noch lesend verwenden lässt. Als eines der klassischen Patterns aus dem Buch „Design Patterns: Elements of Reusable Object-Oriented Software“ der Gang of Four zählt es zu den sogenannten Cre­ational Patterns (Erzeugungsmuster) und genießt einen ambivalenten Ruf. Für die eine Hälfte der Softwareentwickler ist es ein Pattern, für die andere ein Antipattern. Ein Single­ton-Pattern ist eine verkappte globale Variable, was mit den folgenden Konsequenzen einhergeht:

Kommentare lesen (8 Beiträge)