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:

Alle heise-Magazine mit heise+ lesen

3,99 € / Woche

Ein Abo, alle Magazine: c't, iX, Mac & i, Make & c't Fotografie

  • Alle heise-Magazine im Browser und als PDF
  • Alle exklusiven heise+ Artikel frei zugänglich
  • heise online mit weniger Werbung lesen
  • Vorteilspreis für Magazin-Abonnenten
Jetzt unbegrenzt weiterlesen Vierwöchentliche Abrechnung.

Alle Ausgaben freischalten

2,60 € 1,49 € / Woche

Nach Testphase 2,60 € wtl.

  • Zugriff auf alle iX-Magazine
  • PDF-Ausgaben zum Herunterladen
  • Zugriff in der iX-App für unterwegs
  • Über 35% günstiger im Testzeitraum
Jetzt testen Nach Testphase jederzeit monatlich kündbar.

Ausgabe einmalig freischalten

7,90 € / Ausgabe

Diese Ausgabe lesen – ohne Abobindung

  • Sicher einkaufen im heise shop
  • Magazin direkt im Browser lesen
  • Dauerhaft als PDF behalten

Kommentare lesen (8 Beiträge)