同時使用Singleton模式, 只有一個實例是創建多線程?
使用線程安全的singleton類,將保證只有一個實例被創建.
公共密封類單身
{
私有靜態單身單身 =空;
私人靜態只讀對象 singletonLock =新對象();
私人單身() {}
公共靜態單身的getInstance()
{
鎖定 (singletonLock)
{
如果 (單身 == NULL)
{
單身 =新的Singleton();
}
回歸單身 ;
}
}
}
只有當發行將提高創造的第一個實例.
使用鎖() 將為我們提供安全,以避免在同一時間執行兩個線程,創建實例的線程.
我們再次驗證 (singletonobject == NULL) 因此它將保證只有一次的實例將被創建.
雙重檢查“選項,將充分證明,我們的課堂.
給一個答复