π μ΄ μ§λ¬Έμ μ΄μ체μ κ° μμ€ν μ μμμ μ΄λ€ λ¨μλ‘ ν λΉνκ³ , νλ‘μΈμ€μ μ€λ λλ μ΄ μμμ μ΄λ»κ² μ¬μ©νλλλ₯Ό μκ³ μλλλ₯Ό 체ν¬νκΈ° μν μλλ‘ νλ κ²μ΄λΌ 보면 λλ€.
λ¨Όμ λ κ°μ§μ μ΄λ‘ μ μ€λͺ μ νκΈ° μ μ, μ©μ΄μ λͺμ λΉ μ§μ§ λ§μμΌ ν κ²μ μΆ©κ³ νλ€. Process VS Thread λ₯Ό μ΄μΌκΈ°ν λ, λμΌν λ»μ κ°μ§ λ―ν μ©μ΄λ€μ΄ λ°λ³΅μ μΌλ‘ μμ£Ό λ±μ₯νκΈ° λλ¬Έμ΄λ€.
νλ‘μΈμ€λ μ»΄ν¨ν°μμ μ€νλκ³ μλ νλ‘κ·Έλ¨μ λ§νλ©°, CPU μ€μΌμ€λ§μ λμμ΄ λλ μμ
(task)λΌλ μ©μ΄μ κ±°μ κ°μ μλ―Έλ‘ μ°μΈλ€.
μ€λ λλ νλ‘μΈμ€ λ΄ μμ
μ νλ¦μ μ§μΉνλ€.
μ΄λ₯Ό μ‘°κΈ νμ΄μ μ΄μΌκΈ°ν΄λ³΄μλ©΄, νλ‘μΈμ€λ μ΄μ체μ λ‘λΆν° μμμ ν λΉλ°λ μμμ λ¨μ μ΄κ³ , μ€λ λλ ν λΉλ°μ μμμ μ΄μ©νλ μ€νμ λ¨μ λΌκ³ ν μ μλ€. κ·Έλ¦¬κ³ μ€λ λλ νλ‘μΈμ€ λ΄μ μ¬λ¬ κ°κ° μκΈΈ μ μλ€. μλ₯Ό λ€μ΄, μ΄ν리μΌμ΄μ νλκ° νλ‘μΈμ€μ΄κ³ , κ·Έ μμμ λΆκΈ° μ²λ¦¬κ° μ€λ λκ° λλ μ μ΄λΌκ³ λ³Ό μ μλ€.
νλ‘μΈμ€λ μ€νλ λ μ΄μ체μ λ‘λΆν° νλ‘μΈμ, νμν μ£Όμ 곡κ°, λ©λͺ¨λ¦¬ λ± μμμ ν λΉλ°λλ€. μ€λ λλ νλ‘μΈμ€ λ΄μμ λμνλ μ¬λ¬ μ€νμ νλ¦(νλ‘μ°)μΌλ‘ νλ‘μΈμ€ λ΄μ μ£Όμ 곡κ°μ΄λ μμλ€μ κ°μ νλ‘μΈμ€ λ΄μ μ€λ λλΌλ¦¬ 곡μ νλ©΄μ μ€ν λλ€.
μ΄μ체μ λ μμ€ν μμμ ν¨μ¨μ μΌλ‘ κ΄λ¦¬νκΈ° μν΄μ μ€λ λλ₯Ό μ¬μ© νλ€. λ©ν° νλ‘μΈμ€(multi process)λ‘ μ€νλλ μμ μ λ©ν° μ€λ λλ‘ μ€νν κ²½μ°, νλ‘μΈμ€λ₯Ό μμ±νμ¬ μμμ ν λΉνλ μμ€ν μ½μ΄ μ€μ΄λ€κΈ° λλ¬Έμ μμμ ν¨μ¨μ μΌλ‘ κ΄λ¦¬ ν μ μκ² λλ€. λΏλ§ μλλΌ, νλ‘μΈμ€ κ°μ ν΅μ λ³΄λ€ μ€λ λ κ°μ ν΅μ λΉμ©μ΄ ν¨μ¬ μ μΌλ―λ‘ μμ λ€ κ°μ ν΅μ μ λΆλ΄μ΄ μ€μ΄λ€κ² λλ€.
λ©ν° νλ‘μΈμ€(multi process) λ νλμ νλ‘κ·Έλ¨μ μ¬λ¬ κ°μ νλ‘μΈμ€λ‘ ꡬμ±νμ¬ κ° νλ‘μΈμ€κ° νλμ μμ (task)λ₯Ό μ²λ¦¬νλ κ²μ μλ―Ένλ€.
βπ» context switching μ΄λ ?
CPU μμ μ¬λ¬ νλ‘μΈμ€λ₯Ό λμκ°λ©΄μ μμ μ μ²λ¦¬νκ² λλλ°, μ΄ μμ μ Context Switching μ΄λΌκ³ νλ€. λμ μ€μΈ νλ‘μΈμ€κ° λκΈ°λ₯Ό νκ² λλ©΄μ νλ‘μΈμ€μ μν(Context)λ₯Ό 보κ΄νμ¬ λκΈ°νκ³ μλ€κ° λ€μ μ€νμμ 볡ꡬνλ λΉμ©(μκ°)μ μλ―Ένλ€.
λ©ν° μ€λ λ(multi thread) λ νλ‘κ·Έλ¨μ μ¬λ¬κ°μ μ°λ λλ‘ κ΅¬μ±νκ³ κ° μ°λ λκ° μμ (task)λ₯Ό μ²λ¦¬νλ κ²μ μλ―Ένλ€.
thread safe λ, μ¬λ¬ μ€λ λκ° λμμ μ¬μ©λμ΄λ μμ νλ€λ κ²μ μλ―Ένλ€. νΉμ ν¨μ Aμ λ³μ AAκ° μ¬λ¬ μ€λ λμμ νΈμΆμ΄ λλλΌλ νλμ μ€λ λμμ νΈμΆνμ λμ κ°μ κ²°κ³Όκ° λ³΄μ₯λμ΄μΌ νλ€ λ κ²μ΄λ€. λ§μ½ νΉμ ν¨μκ° μ μ λ³μλ₯Ό μ°Έμ‘°νκ² λλ€λ©΄ ν΄λΉ ν¨μλ thread safe νμ§ μμ κ²°κ³Όκ° λμ¬ μ μλ€.
Processμ Threadμ μ°¨μ΄
νλ‘μΈμ€μ μ€λ λμ μ°¨μ΄-μ΄μ체μ
Process, Thread μ°¨μ΄κ° λμμ?
λ©΄μ μ μν CS μ 곡μ§μ λ
ΈνΈ