μν°λ 12μ ν리μ¨λ³΄λ© μ¬μ κ³Όμ
π§π» (1) λκΈ°μ λΉλκΈ° νλ‘κ·Έλλ°μ λν μ°¨μ΄μ μ μ€λͺ ν΄μ£ΌμΈμ.
λκΈ°λ μμ²κ³Ό κ²°κ³Όκ° λμμ μΌμ΄λλ€. μμ²μ μ²λ¦¬νλλμ λ€λ₯Έ μμ²μ μ²λ¦¬νμ§ λͺ»νκ³ λκΈ°ν΄μΌ νλ€.
μμμ λ§μΆ° μ§νλλ€λ μ₯μ μ΄ μμ§λ§, μ²λ¦¬νλ λμ λκΈ°ν΄μΌ νλ€λ λ¨μ μ΄ μλ€. μΉ΄νμμ μ μμ΄ λ€λ₯Έ μ£Όλ¬Έμ λ°μ§ μκ³ μ»€νΌλ₯Ό μ μ‘°νλ λμ λκΈ°ν΄μΌ νλ κ²κ³Ό κ°λ€.
λΉλκΈ°λ μμ²κ³Ό κ²°κ³Όκ° λμμ μΌμ΄λμ§ μλλ€. μλ΅μ λν μ²λ¦¬κ° λ°λ‘ μ΄λ£¨μ΄μ§μ§ μκ³ λ€λ₯Έ μμ²μ λμμ μ²λ¦¬ν μ μλ€.
μ¬λ¬κ°μ μμ²μ μ²λ¦¬ν μ μλ€λ μ₯μ μ΄ μμ§λ§, μλκ° μ νλ μ μλ€λ λ¨μ μ΄ μλ€.
μΉ΄νμμ ν μ μμ΄ μ»€νΌλ₯Ό μ μ‘°νλ λμ λ€λ₯Έ μ μμ΄ μ£Όλ¬Έμ λ°λ κ²κ³Ό κ°λ€.
π§π» (2) λΈλ‘νΉκ³Ό λ ΌλΈλ‘νΉμ μ°¨μ΄μ μ μ€λͺ ν΄μ£ΌμΈμ.
λΈλ‘νΉμ A ν¨μκ° B ν¨μλ₯Ό νΈμΆνλ©΄ μ μ΄κΆμ΄ A ν¨μμμ B ν¨μλ‘ λμ΄κ°λ€. B ν¨μλ μ€νμ΄ μ’ λ£λλ©΄ μ μ΄κΆμ΄ A ν¨μλ‘ λ€μ λμ΄κ°λ€. λ ΌλΈλ‘νΉμ A ν¨μκ° B ν¨μλ₯Ό νΈμΆνλ©΄ μ¬μ ν A ν¨μλ μ μ΄κΆμ κ°κ³ μκ³ Bμ μ€ν μ’ λ£ μ¬λΆμ μκ΄μμ΄ κ³μν΄μ μ€ννλ€.
π§π» (3) λ³ΈμΈμ΄ μ£Όλ‘ μ¬μ©νλ μΈμ΄μμ λΉλκΈ° νλ‘κ·Έλλ°μ μ¬μ©νλ λ°©λ²μ μ€λͺ ν΄μ£ΌμΈμ.
μ°λ λ νμ μ°λ λ λͺκ°λ₯Ό 미리 μμ±ν΄λκ³ , λ€λ₯Έ μ°λ λλ₯Ό ν΅ν΄μ μμ²μ μ μ‘νλ€.
μ°λ λ μ¬μ©μ, λ©μλμ μ€ν μ¬λΆμ λ°νκ°μ μκΈ° μν΄μ Callbackμ μ΄μ©νλ€.
static ExecutorService executorService = Executors.newFixedThreadPool(10);
public void request() {
executorService.submit(new Runnable() {
@Override
public void run() {
//μ½λ μμ±
}
});
}
π§π» (4) λ©μΈμ§ νλ₯Ό μ°λ μ΄μ μ λνμ¬ 2κ°μ§ μμλ₯Ό μμ ν΄μ£ΌμΈμ.
λ©μΈμ§ νλ μΌλ°μ μΌλ‘ ν΅μ¬μμ 보λ€λ μ΄ν리μΌμ΄μ μ λΆκ°μ μΈ κΈ°λ₯μ μ¬μ©νλκ² μ ν©ν κΈ°λ₯μ΄λ€. λ°λμ μ¬μ©λ μ 보λΌκ³ 보μ₯λμ§ μλλΌλ, μΈμ κ° μμ°μμκ²μ κ°μ Έκ° μλΉμκ° κ°μ Έκ° μ¬μ©ν΄ μ²λ¦¬λ κ²μ΄λΌκ³ λ―Ώμ΄μ§λ κ²½μ°μ μ¬μ©λλ€. λν νλ‘μΈμ€ λ¨μλ‘ μ²λ¦¬νλ μΉ μμ²μ΄λ μΌλ°μ μΈ νλ‘κ·Έλ¨μ λ§λ€μ΄μ μ¬μ©νλλ° μ¬μ©μκ° λ§μμ§κ±°λ λ°μ΄ν°κ° λ§μμ§λ©΄ μμ²μ λν μλ΅μ κΈ°λ€λ¦¬λ μκ° μ¦κ°νλ€κ° λμ€μλ λκΈ° μκ°μ΄ μ§μ°λμ΄μ μλΉμ€κ° μ μμ μΌλ‘ λμ§ λͺ»νλ μν©μ΄ μ€κΈ° λλ¬Έμ κΈ°μ‘΄μ λΆμ°λμ΄ μλ λ°μ΄ν° μ²λ¦¬λ₯Ό ν κ³³μ μ§μ€νκΈ° μν΄μ μ¬μ©νλ€.
1. μ΄λ©μΌ μ μ‘
- λΉλ°λ²νΈλ₯Ό λΆμ€νκ³ μ΄λ©μΌλ‘ μΈμ¦μ½λλ₯Ό λ°λ κ²½μ°, μ΄λ μ λμ λκΈ° μκ°μ΄ νμ©λλ©΄μλ λ°λμ λ©μμ§κ° μ¬μ©λκΈ° λλ¬Έμ μ΄λ©μΌ μ μ‘ μμ λ©μμ§ νλ₯Ό μ¬μ©νλ€.
2. λΈλ‘κ·Έ ν¬μ€ν
- κ³ μ©λμ μ΄λ―Έμ§λ₯Ό μ λ‘λνκ³ μ νλ κ²½μ°μ, μ λ‘λ μμλ μ°μ μ μΌλ‘ μ΄λ―Έμ§λ₯Ό μ μ₯μμ μ μ₯νκ³ μΆνμ λ©μμ§ ν λ΄λΆμμ μ΅μ νλ₯Ό κ±°μΉ λ€μ μ μ₯ν μ΄λ―Έμ§λ₯Ό λ체νλ€.