Item 80. ExecutorService
μ€λ λ보λ€λ μ€νμ, ν μ€ν¬, μ€νΈλ¦Όμ μ μ©νλΌ
μ€λ λλ₯Ό μ§μ λ€λ£¨κΈ° μν΄μλ μμΈλ₯Ό μν μ½λλ λ§μ΄ μμ±ν΄μΌνκ³ , μ€λ₯κ° λ°μνκΈ°λ μ½λ€.
νμ§λ§ java.util.concurrent
ν¨ν€μ§κ° λμ€λ©΄μ μ€λ λλ₯Ό μ§μ λ€λ£¨μ§ μκ³ μ½κ² μμ
μ μ²λ¦¬ν μ μκ² λμλ€.
μ μ½λλ ExecutorService
λ₯Ό μ¬μ©νμ¬ μ€λ λλ₯Ό μμ±νκ³ μ€ννλ κ°λ¨ν κΈ°λ₯μ μ¬μ©ν μ½λμ΄λ€.
κ·Έ μΈμ μλ κΈ°λ₯μ μ 곡ν΄μ£Όκ³ μλ€.
get
: νΉμ ν μ€ν¬ μλ£ λκΈ°invokeAny
: ν μ€ν¬ λͺ¨μ μ€ μ무거λ νλ μλ£ λκΈ°invokeAll
: ν μ€ν¬ λͺ¨μ λͺ¨λ μλ£ λκΈ°awaitTermination
: μ€νμ μλΉμ€ μ’ λ£ λκΈ°
λν, μ μ½λλ μ±κΈ μ€λ λλ‘ λμνλ ExecutorService
λ₯Ό μμ±νμ§λ§, λ€λ₯Έ μ μ ν©ν°λ¦¬ λ©μλλ₯Ό μ¬μ©νμ¬ λ€μν μ€λ λ νμ μμ±ν μ μλ€.
Executors.newSingleThreadExecutor
: λ¨μΌ μ€λ λ νExecutors.newFixedThreadPool
: κ³ μ ν¬κΈ° μ€λ λ νExecutors.newCachedThreadPool
: μΊμ μ€λ λ ν, κ°λ²Όμ΄ μλ²λ νλ‘ν νμ μλ²μ μ ν©(λ¬΄κ±°μ΄ νλ‘λμ μλ²μλ μ¬μ©νμ§ μλ κ²μ΄ μ’μ)μμ² λ°μ ν μ€ν¬λ€μ΄ νμ μμ΄μ§ μκ³ μ¦μ μ€λ λμ μμλΌ μ€νλκΈ° λλ¬Έμ κ°μ© μ€λ λκ° μλ κ²½μ° μλ‘μ΄ μ€λ λλ₯Ό μμ±νκΈ° λλ¬Έμ 무νμ μ€λ λλ₯Ό μμ±ν μ μμ
νλ‘λμ μλ²μμλ
newFixedThreadPool
μ μ¬μ©νκ±°λ,ThreadPoolExecutor
λ₯Ό μ§μ μ¬μ©νλ κ²μ΄ μ’μ
Last updated
Was this helpful?