java 實現支持多線程的單件模式

          在我們寫程序時,經常會用到單件模式,單件模式是一個類只擁有一個實例對象(或者擁有多個固定數量的實例對象)。下面我給出一個使用多線程的單件模式demo。

package com;

public class Single {
	
	private static Single _instance = null;
	
	private static Object lock =  new Object();
	
	//設置爲私有構造函數,封死外部調用構造函數新建實例
	private Single()
	{
	}
	
	public static Single get()
	{
		if ( _instance == null )
		{
			//設置同步鎖,以免多線程併發時,創建多個實例
			synchronized (lock) {
				if ( _instance == null )
				{
					return _instance = new Single();
				}
			}
		}
		return _instance;
	}
		
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章