// @topic S-0314-10-01-20 Java singleton design pattern // @brief class Singleton package singleton; public class Singleton { private static Mutex mMutex = new Mutex(); private static Singleton mInstance = null; public int dummy; private Singleton( int dummy ) { this.dummy = dummy; } //synchronized public static Singleton GetInstance() { Lock lock = new Lock( mMutex ); // automatically locks System.out.println( "Get Inst" ); if ( mInstance == null ) { mInstance = new Singleton( 1 ); } lock.release(); // don't forget to unlock return mInstance; } }//class Singleton