1 Multi-thread-safe singleton mode one (do not use sync Lock).
1 1PublicClassSingleton {2 2PrivateSingleton ()7 ·{}4 4PrivateStaticSingleton Singleton;5 56 6PublicStatic Singleton getinstance () 7 7 { 8 8 if (Singleton ==< Span style= "color: #0000ff;" >null) {10 Singleton = Singleton (); 11 11}12 return< Span style= "color: #000000;" > Singleton; 13 13}14 15 16}view Code
2. Multithreaded Security singleton mode one (using Sync Lock).
Publicclass Singleton { Private Singleton () {} private static Singleton Singleton; // Public static synchronized Singleton getinstance () {if (Singleton ==null) {Singleton =newreturn Singleton;}}
3. Multithreaded Security singleton mode one (using a dual sync lock).
PublicClassSingleton {PrivateStaticSingleton instance; private Singleton () {} public static Singleton getinstance () { // Synchronize the method that gets the instance if (instance = = null) { synchronized (Singleton. Class) { if (instance = = Null) instance = new Singleton ();}} return instance;}}
A single example under multithreading