Coding Planet
λ©ν°νμ€νΉκ³Ό λ©ν°μ°λ λ©μ μ°¨μ΄ - νλ‘μΈμ€μ μ°λ λ λ³Έλ¬Έ
λ©ν°νμ€νΉκ³Ό λ©ν°μ°λ λ©μ μ°¨μ΄ - νλ‘μΈμ€μ μ°λ λ
jhj.sharon 2024. 2. 1. 14:59
| νλ‘μΈμ€μ μ°λ λ
νλ‘μΈμ€(process)λ κ°λ¨ν λ§ν΄μ μ€νμ€μΈ νλ‘κ·Έλ¨μ΄λ€. νλ‘κ·Έλ¨μ μ€ννλ©΄ OSλ‘λΆν° μ€νμ νμν μμ(λ©λͺ¨λ¦¬)λ₯Ό ν λΉλ°μ νλ‘μΈμ€κ° λλ€.
νλ‘μΈμ€λ νλ‘κ·Έλ¨μ μννλ λ° νμν λ°μ΄ν°μ λ©λͺ¨λ¦¬ λ±μ μμ κ·Έλ¦¬κ³ μ°λ λλ‘ κ΅¬μ±λμ΄ μλ€. μ΄ λ νλ‘μΈμ€μ μμμ μ΄μ©ν΄μ μ€μ λ‘ μμ μ μννλ κ²μ΄ μ°λ λμ΄λ€.
κ·Έλμ λͺ¨λ νλ‘μΈμ€μμλ μ΅μν νλ μ΄μμ μ°λ λκ° μ‘΄μ¬νλ©°, λ μ΄μμ μ°λ λλ₯Ό κ°μ§ νλ‘μΈμ€λ₯Ό λ©ν°μ€λ λ νλ‘μΈμ€λΌκ³ νλ€. νλ‘μΈμ€κ° νλμ 곡μ₯μ΄λΌλ©΄ μ°λ λλ 곡μ₯ λ΄λΆμ λ Έλμμ΄λ€.
| λ©ν°νμ€νΉκ³Ό λ©ν°μ°λ λ©
νμ¬ μ°λ¦¬κ° μ¬μ©νκ³ μλ μλμ°λ μ λμ€λ₯Ό ν¬ν¨ν λλΆλΆμ OSλ λ©ν°νμ€νΉ(multitasking, λ€μ€μμ )μ μ§μνκΈ° λλ¬Έμ μ¬λ¬ κ°μ νλ‘μΈμ€κ° λμμ μ€νλ μ μλ€.
μ΄μ λ§μ°¬κ°μ§λ‘ λ©ν°μ°λ λ©μ νλμ νλ‘μΈμ€ λ΄μμ μ¬λ¬ μ°λ λκ° λμμ μμ μ μννλ κ²μ΄λ€. CPUμ μ½μ΄(core)κ° ν λ²μ λ¨ νλμ μμ λ§ μνν μ μμΌλ―λ‘ μ€μ λ‘ λμμ μ²λ¦¬λλ μμ μ κ°μλ μ½μ΄μ κ°μμ μΌμΉνλ€. κ·Έλ¬λ λμ²΄λ‘ μ²λ¦¬ν΄μΌνλ μ°λ λμ μλ μ½μ΄μ κ°μλ³΄λ€ λ§κΈ° λλ¬Έμ κ° μ½μ΄κ° μμ£Ό 짧μ μκ°λμ μ¬λ¬ μμ μ λ²κ°μ κ°λ©° μνν¨μΌλ‘μ¨ μ¬λ¬ μμ λ€μ΄ λͺ¨λ λμμ μνλλ κ²μ²λΌ 보μ΄κ² νλ€(μλΆν ).
**μ½μ΄ : νλ‘κ·Έλ¨μ λͺ λ Ήμ μ½κ³ μννλ λ 립μ μΈ μ²λ¦¬μ₯μΉ
| λ©ν°μ°λ λ©μ μ₯λ¨μ
1) μ₯μ
- CPUμ μ¬μ©λ₯ μ ν₯μμν¨λ€.
- μμμ λ³΄λ€ ν¨μ¨μ μΌλ‘ μ¬μ©ν μ μλ€.
- μ¬μ©μμ λν μλ΅μ±μ΄ ν₯μλλ€.
- μμ μ΄ λΆλ¦¬λμ΄ μ½λκ° κ°κ²°ν΄μ§λ€.
λ©μ μ λ‘ μ±ν νλ©΄μ νμΌμ λ€μ΄λ‘λ λ°κ±°λ μμ±λνλ₯Ό λλ μ μλ κ²μ΄ κ°λ₯ν μ΄μ κ° λ°λ‘ λ©ν°μ°λ λλ‘ μμ±λμ΄ μκΈ° λλ¬Έμ΄λ€. μ¬λ¬ μ¬μ©μμκ² μλΉμ€λ₯Ό ν΄μ£Όλ μλ² νλ‘κ·Έλ¨μ κ²½μ° λ©ν°μ°λ λλ‘ μμ±νλ κ²μ νμμ μ΄μ΄μ νλμ μλ² νλ‘μΈμ€κ° μ¬λ¬κ°μ μ°λ λλ₯Ό μμ±ν΄μ μ°λ λμ μ¬μ©μμ μμ²μ΄ μΌλμΌλ‘ μ²λ¦¬λλλ‘ νλ‘κ·Έλλ°ν΄μΌνλ€.
λ§μΌ μ±κΈμ°λ λλ‘ μλ² νλ‘κ·Έλ¨μ μμ±νλ€λ©΄ μ¬μ©μμ μμ² λ§λ€ μλ‘μ΄ νλ‘μΈμ€λ₯Ό μμ±ν΄μΌνλλ° νλ‘μΈμ€λ₯Ό μμ±νλ κ²μ μ°λ λλ₯Ό μμ±νλ κ²μ λΉν΄ λ λ§μ μκ΄κ³Ό λ©λͺ¨λ¦¬ 곡κ°μ΄ νμνκΈ° λλ¬Έμ λ§μ μμ μ¬μ©μ μμ²μ μλΉμ€νκΈ° μ΄λ ΅λ€.
(μ°λ λλ₯Ό κ°λ²Όμ΄ νλ‘μΈμ€λΌκ³ λΆλ₯΄κΈ°λ νλ€.)
2) λ¨μ
λ©ν°μ°λ λ νλ‘μΈμ€λ μ¬λ¬ μ°λ κ° κ°μ νλ‘μΈμ€ λ΄μμ μμμ 곡μ νλ©΄μ μμ μ νκΈ° λλ¬Έμ λ°μν μ μλ λκΈ°νμ κ΅μ°©μνμ κ°μ λ¬Έμ λ€μ κ³ λ €ν΄μΌνλ€.
- λκΈ°ν( Synchronization ) : λ©ν°μ°λ λ νκ²½μμ μ¬λ¬ μ°λ λκ° κ³΅μ μμ(λ³μ, μλ£κ΅¬μ‘° λ±)μ λμμ μ κ·Όνλ©΄ λ°μ΄ν° μΌκ΄μ±κ³Ό 무결μ±μ 보μ₯νκΈ° μ΄λ ΅λ€.
- κ΅μ°©μν( Deadlock ) : λ μ°λ λκ° μμμ μ μ ν μνμμ μλ‘ μλνΈμ΄ μ μ ν μμμ μ¬μ©νλ €κ³ κΈ°λ€λ¦¬λλΌ μ§νμ΄ λ©μΆ°μλ μνλ₯Ό μλ―Ένλ€. μ΄λ‘ μΈν΄ λͺ¨λ μ°λ λκ° λ¬΄ν λκΈ°νκ² λμ΄ μμ€ν μ΄ λ μ΄μ μ§νλμ§ λͺ»νλ μνκ° λλ€.
[μΆμ² : λ¨κΆμ±, μλ°μ μ μ 3rd Edition]
'π» Java Study > Java μ΄λ‘ μ 리' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
ThreadLocalκ³Ό ThreadLocalUtil (0) | 2024.02.28 |
---|---|
λ°λͺ¬μ°λ λ(daemon thread) - μ¬μ©νλ μ΄μ μ java μ½λ μ (0) | 2024.02.26 |
[μλ°μ μ μ ]λλ€μ(Lambda Expressions) 1 - λλ€μ ꡬ쑰μ μμ±λ² (0) | 2023.08.26 |
[Java] length vs length()μ μ°¨μ΄ (0) | 2023.08.26 |
String, StringBuffer, StringBuilderμ μ°¨μ΄μ κ³Ό μ¬μ©λ°©λ², μ μ©ν λ©μλ (0) | 2023.08.24 |