Singleton for multithreading in Java | ASSIST Software Romania
get in touch
>

LIKE

SHARE

Facebook Share Tweet LinkedIn Share

FOLLOW

LinkedIn Follow Xing Follow
Lucian Neghina

Software Developer at ASSIST

​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;
	} 
}

Möchten Sie mit uns in Kontakt treten?

Wenn Sie an unseren Softwareentwicklungsdienstleistungen interessiert sind, sich unserem Team anschließen möchten oder einfach mehr über uns erfahren möchten, würden wir uns freuen, von Ihnen zu hören! Schreiben Sie uns ein paar Zeilen und ein Mitglied des ASSIST-Teams wird sich so schnell wie möglich bei Ihnen melden. Wir sind sicher, dass wir Ihnen helfen können.

SETZEN SIE SICH MIT UNS IN VEBINDUNG!