請(qǐng)闡明有關(guān)單例和多線程的查詢:在多線程環(huán)境中用Java實(shí)現(xiàn)Singleton的最佳方法是什么?當(dāng)多個(gè)線程嘗試同時(shí)訪問getInstance() 方法時(shí)會(huì)發(fā)生什么?我們可以做單身人士getInstance() synchronized嗎?使用Singleton類時(shí),真的需要同步嗎?
3 回答

ibeautiful
TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果您正在Java中使用多線程環(huán)境,并且需要確保所有這些線程都在訪問類的單個(gè)實(shí)例,則可以使用Enum。這將具有幫助您處理序列化的附加優(yōu)勢(shì)。
public enum Singleton {
SINGLE;
public void myMethod(){
}
}
然后讓您的線程像下面這樣使用您的實(shí)例:
Singleton.SINGLE.myMethod();
添加回答
舉報(bào)
0/150
提交
取消