* μ€λ λ
: νλ‘κ·Έλ¨ λͺ λ Ήμ μ€ννλ μ΅μλ¨μ
: νλ‘κ·Έλ¨ μ€νμ λ± νλμ μ€λ λ(mainμ€λ λ)λ§ μμ±
β‘οΈ νλ‘κ·Έλ¨μ€ν > JVMμ μν΄ mainμ€λ λ μλμμ± > λͺ λ Ή μν > mainλ©μλ μ’ λ£ > mainλ©μλ μλμλ©Έ
: μ€λ λ λ©μλ
- Thread.currentThread() : νμ¬ λͺ λ Ήμ μ€ννλ μ€λ λμ μΈμ€ν΄μ€λ₯Ό λ°ν
- Thread.getName() : μ€λ λ μΈμ€ν΄μ€μ μ μ₯λ μ€λ λλͺ μ λ°ν
* λ€μ€μ€λ λ
: μ€μ λ‘ μ€λ λλ mainμ€λ λ λ¨ νλμ§λ§ mainμ€λ λλ μΈμ€ν΄μ€λ₯Ό μμ±ν μ μμΌλ―λ‘ μ€λ λ μ¬λ¬κ° μμ±κ°λ₯
β‘οΈ λ¨, νλμ μ€λ λ μΈμ€ν΄μ€λ νλμ μ€λ λλ§ μ¬μ© κ°λ₯! μ£Όμ!!
* μ€λ λ μμ± λ°©λ²
λ°©λ² 1) Thread ν΄λμ€ μμλ°μ run() λ©μλ μ€λ²λΌμ΄λ
β‘οΈ run() : μ€λ λκ° μ€νν λͺ λ Ήμ μ€λ²λΌμ΄λνμ¬ μμ±
β‘οΈ νΈμΆμ μΈμ€ν΄μ€λ₯Ό μμ±νμ¬ νΈμΆ : new μμ±μ€λλν΄λμ€λͺ .start();
λ°©λ² 2) Runnable μΈμ€ν΄μ€ μμλ°μ run() λ©μλ μ€λ²λΌμ΄λ
β‘οΈ run() : μ€λ λκ° μ€νν λͺ λ Ήμ μ€λ²λΌμ΄λνμ¬ μμ±
β‘οΈ νΈμΆμ μμ±μλ‘ μμ± ν νΈμΆ : new Thread(new μμ±μ€λλν΄λμ€λͺ )).start();
* Thread.sleep(ms)
: μ€λ λμ μ€νμκ°μ μνλ μκ°λ§νΌ μ§μ°μν€λ λ©μλ
: λ€μ€μ€λ λμμ κ°μ μκ°μ μ§μ°μν¨λ€κ³ ν΄μ κ° μ€λ λκ° λ§€λ² κ°μ μμλ‘ λλ¬νμ§λ μλλ€.
* Thread.setPriority(priority)
: λ€μ€μ€λ λλ₯Ό κΌ μνλ μμλλ‘ μ€νν΄μΌνλ κ²½μ° μ€μλλ₯Ό μ§μ ν μ μλ€
: priorityμλ 0~10 κΉμ§ κΈ°μ κ°λ₯νλ©°, κ°μ₯ μ€μν κ²μ 10μ νννλ€.
β‘οΈ μμνλλ‘λ κΈ°μ κ°λ₯ : .MIN_PRIORITY (0) .NORM_PRIORITY (5) .MAX_PRIORITY (10)
* λ€μ€μ€λ λμ λ¬Έμ μ
λ§μ½ λ€μ€μ μ€λ λκ° λμμ κ°μ(λμΌν) λ©μλλ₯Ό νΈμΆνλ κ²½μ°, λμΌ μμ±μ λν λͺ λ Ήμ²λ¦¬κ° λΆκ·μΉνκΈ°μ μμκ° μν¬μ μμ
μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ μ€λ λλ₯Ό λκΈ°ν ν΄μ£Όμ΄μΌν¨
"μ€λ λ λκΈ°ν"λ? λ¨Όμ λ©μλλ₯Ό μμ²ν μ€λ λκ° λͺ λ Ήμ λ€ μνν λκΉμ§ λ€λ₯Έ λͺ λ Ήλ€μ΄ μ μ LOCK(μ€μ§)!
μ€λ λ λκΈ°ν λ°©λ² 1) μ€λ λ μμ² λ©μλ μ μΈμ synchronized ν€μλλ₯Ό μ¬μ©νμ¬ μ μΈ
μ€λ λ λκΈ°ν λ°©λ² 2) λ§μ½, λ°°ν¬λ ν΄λμ€ λ±μ μ΄μ λ‘ λ©μλμ μμ μ΄ λΆκ°νΌν κ²½μ°,
μ€λ λκ° λ©μλλ₯Ό μμ²ν λ synchronized(λ©μλλͺ ) ννλ‘ μμ²
κ·Έ μΈ λ€μ€μ€λ λλ₯Ό μ‘°μνκΈ° μν΄ μλ λ λ©μλλ μμ£Ό μ¬μ©λλ€
- notify() : wait() λ©μλμμν΄ μ€λ λμ LOCK ν΄μ
- wait() : notify() λ©μλ νΈμΆμ κΉμ§ μ€λ λ μ€μ§(LOCK)
'Note for moment' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
SQL(DML,DDL,DCL,TCL) (0) | 2020.09.07 |
---|---|
μ λ€λ¦(Generic) - νμ©μ μ : μλ£κ΅¬μ‘° (0) | 2020.09.05 |
[Java] String, StringBuffer, StringBuilder (0) | 2020.09.05 |
[Java] μλ£ν, Wrapperν΄λμ€ (0) | 2020.09.05 |
[Java] μμΈ(Exception)μ μλ¬(Error), μμΈμ²λ¦¬, μμΈν΄λμ€μμ± λ° μ°Έμ‘° (0) | 2020.09.03 |
λκΈ