synchronized
Last updated
Was this helpful?
Last updated
Was this helpful?
λ©ν°μ€λ λ νκ²½μμ, 2~3κ°μ μ€λ λμμ mutable shared dataλ₯Ό λμμ μ λ°μ΄νΈ ν λ λ°μ.
μ΄ λ μλ°κ° μ 곡νκ³ μλ, [[race-condition]] μ νΌνκΈ° μν λ©μΉ΄λμ¦μ.
shard dataμ μ κ·Όνλ μ€λ λ€μ sychronizing ν¨μΌλ‘..
int sum
μ 곡μ μμ, μ κ·Όνλ λ°©μμ cacluate()
λ₯Ό ν΅ν΄μ (μ¬λ¬ μ€λ λκ°..)
μ¦ 3κ°μ μ€λ λμμ λμμ μ κ·Όν΄μ calculate()
μ€ν
κ²°κ³Όκ° 1000μ΄ λμ¬ κ²μ΄ κΈ°λλμ§λ§, ν μ€νΈ μ€ν¨ν¨.
[[synchronized]] ν€μλλ 3κ°μ§ λΆλΆμ μ¬μ©ν μ μμ.
instance method
static method
code blocks
μΌλ°μ μΈ λ©μλμ ν€μλ μΆκ°νλ κ².
μμ±λ instance ν΄λΉ λ©μλμ μ κ·Όνλ 건 νλ²μ νλμ μ€λ λμμλ§ κ°λ₯νκ²ν¨.
μ¬λ¬ instanceκ° μμ±λμ΄ μμΌλ©΄, κ°κ° μΈμ€ν΄μ€λ§λ€ κ°κ° μ€λ λκ° ν΄λΉ λ©μλμ μ κ·Ό κ°λ₯νκ² λ¨.
static
ν€μλμ ν¨κ» μ¬μ©.
Class λ 벨μ μ’ μλμ΄μμ.
μ¦ μ€μ§ νλμ Class objectκ° [[JVM]] μ μ‘΄μ¬ν μ μλ λ§νΌ, μ΄ ν΄λμ€λ‘ μμ±λ μΈμ€ν΄μ€κ° μ¬λ¬κ° μλλΌλ, ν΄λΉ λ©μλμ μ κ·Όνλ 건 νλμ μ€λ λλ§ κ°λ₯ν¨.
μ 리ν΄λ³΄μλ©΄ instance method λ 벨μ ν€μλκ° λΆμ΄μμΌλ©΄, ν΄λΉ μΈμ€ν΄μ€ μμλ§ νλμ μ€λ λκ° μ κ·Όκ°λ₯νλλ‘ λ³΄μ₯νλλ°,
static
μ κ°μ΄ μ¬μ©νλ€λ©΄, ν΄λΉ ν΄λμ€μ ν΄λΉ λ©μλμ νλμ μ€λ λκ° μ κ·Όνλλ‘ λ³΄μ₯νλ κ².
code blockμ μ¬μ©ν λλ, μ μ¬μ©ν΄μ λ½μ μ 곡.