Singleton for multithreading in Java

October 26, 2014
1 min read

​Everyone knows what is singleton pattern, but how to implement a singleton class in multithreaded environment? Next, I’m going to present best approaches for this use case.

Bill Pugh Singleton Implementation


public class Singleton {
	private Singleton() { }

	private static class SingletonHolder {
		private static final Singleton INSTANCE = new Singleton();
	}

	public static Singleton getInstance() {
		return SingletonHolder.INSTANCE;
	} 
}

Thread Safe Double Checked Singleton Implementation


public class Singleton {
	private static Singleton instance;

	private Singleton() { }

	public static Singleton getInstance() {
		if(instance == null) {
			synchronize (Singleton.class) {
				if(instance == null) {
					instance = new Singleton();
				}
			}
		}
		return instance;
	} 
}

Share on:

Want to stay on top of everything?

Get updates on industry developments and the software solutions we can now create for a smooth digital transformation.

* I read and understood the ASSIST Software website's terms of use and privacy policy.

Frequently Asked Questions

ASSIST Software Team Members

Sehen Sie die Vergangenheit, Gegenwart und Zukunft der Technologie mit den Augen eines erfahrenen rumänischen Unternehmens für kundenspezifische Software. Der ASSIST Insider-Newsletter beleuchtet Ihren Weg zur digitalen Transformation.

* Ich habe die Nutzungsbedingungen und Datenschutzrichtlinien der ASSIST Software-Website gelesen und verstanden.

Folgen Sie uns

© 2025 ASSIST-Software. Alle Rechte vorbehalten. Mit Liebe entworfen.