μ΄μ½λ¦Ώμ λ Ήμ΄λ μ΄μ½λ¦Ώ 보μΌλ¬κ°, λΉμ΄μμΌλ©΄ μ±μ°λ μμ μ νλ ν΄λμ€κ° μλ€κ³ κ°μ
κ°μ²΄λ₯Ό μ²μ λ§λ μ§νμ μνλ empty λ³μ κ°μ΄ true
κ°μ²΄λ₯Ό λ§λ€κ³ λ μ΄ν empty λ³μλ₯Ό μμ νλ νμμΌλ‘ κ°λ°μ μ§ν
μ΄λ, μ΄ μ΄μ½λ¦Ώ 보μΌλ¬ κ°μ²΄κ° λκ°κ° λμκ°λ κ²½μ°, empty λ³μμ μ΄κΈ°ν λλ¬Έμ 곡μ₯ μ μ²΄κ° μλμΉ μκ² λμκ° μ μμ
λ°λΌμ μ΄ μ΄μ½λ¦Ώ 보μΌλ¬ κ°μ²΄λ νλλ§ μ‘΄μ¬ ν΄μΌ ν¨
μ΄λ₯Ό μν΄ κ°μ²΄λ₯Ό νλλ§ λ§λλ λμμΈ ν¨ν΄μΈ μ±κΈν΄ λμμΈ ν¨ν΄μ μ μ©
class Singleton {
private voiatile static Singleton instance;
private Singleton()
static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = Singleton();
}
}
}
return instance;
}
}
synchronized / volatile ν€μλλ₯Ό νμ©νμ¬ λ©ν°μ°λ λ νκ²½μμλ κ°μ²΄κ° νλλ§ μμ±λλλ‘ μ μΈ<aside> π‘ ν΄λΉ ν΄λμ€μ κ°μ²΄κ° νλλ§ λ§λ€μ΄μ§κ³ , μ΄λμλ μ§ κ·Έ κ°μ²΄μ μ κ·Ό ν μ μλλ‘ νλ λμμΈ ν¨ν΄
</aside>