[μ΄μ체μ ] μ€λ λμ λ©ν°μ€λ λ©
μ€λ λ(thread)
μ€λ λλ νλ‘μΈμ€μ μ€ν κ°λ₯ν κ°μ₯ μμ λ¨μμ΄λ€. νλ‘μΈμ€λ μ¬λ¬ μ€λ λλ₯Ό κ°μ§ μ μλ€.
μ½λ, λ°μ΄ν°, μ€ν, νμ κ°κ° μμ±ν΄μ μμ λ§μ λ©λͺ¨λ¦¬ μμμ κ°μ§λ νλ‘μΈμ€μλ λ¬λ¦¬ μ€λ λλ μ½λ, λ°μ΄ν°, νμ μ€λ λλΌλ¦¬ μλ‘ κ³΅μ νκ³ , κ·Έ μΈμ μμμ κ°κ° μμ±λλ€.
λ©ν°μ€λ λ©(multi-threading)
λ©ν°μ€λ λ©μ νλ‘μΈμ€ λ΄ μμ μ μ¬λ¬ κ°μ μ€λ λ, μ¦ λ©ν°μ€λ λλ‘ μ²λ¦¬νλ κΈ°λ²μ΄λ€.
μ€λ λλΌλ¦¬ μ€ν μμμ μ μΈν λ©λͺ¨λ¦¬λ₯Ό μλ‘ κ³΅μ νκΈ° λλ¬Έμ, λ°μ΄ν° μμμ μ μ₯λ μ μ λ³μ(global)λ μ μ λ³μ(static), νμ μ μ₯λ mallocμ μν λμ ν λΉ λ±μ λν μ 보λ₯Ό 곡μ ν μ μλ€.
μ΄μ κ°μ΄, νλ‘μΈμ€κ° ν΅μ (IPC)μ κ°μ κ³Όμ μ κ±°μΉμ§ μμλ μ 보λ₯Ό 곡μ ν μ μκΈ° λλ¬Έμ ν¨μ¨μ±μ΄ λλ€.
컨ν μ€νΈ μ€μμΉλ©΄μμλ μ₯μ μ΄ μλ€. νλ‘μΈμ€μ 컨ν μ€νΈ μ€μμΉμμ νλ‘μΈμ€κ°μ λ©λͺ¨λ¦¬λ₯Ό 곡μ νμ§ μκΈ° λλ¬Έμ νλ‘μΈμ€κ° λ°λλ©΄ μ§κΈκ» μμμ¨ μΊμ λ°μ΄ν°λ€μ μ΄κΈ°ννκ³ μ²μλΆν° λ€μ μΊμ λ°μ΄ν°λ₯Ό μμμΌ νλ€.
νμ§λ§, μ€λ λμ κ²½μ°λ λ©λͺ¨λ¦¬ 곡κ°μ 곡μ νκΈ° λλ¬Έμ μ€λ λκ° λ°λλλΌλ κΈ°μ‘΄ μΊμ λ°μ΄ν°κ° μλ―Έμλ λ°μ΄ν°κ° λλ―λ‘ μκ°μ΄λ λΉμ©λ©΄μμ λΆλ΄μ΄ λ μ λ€.
νμ§λ§ ν μ€λ λκ° λ©λͺ¨λ¦¬ 곡κ°μ λ§κ°λ¨λ¦¬λ λ±κ³Ό κ°μ λ¬Έμ κ° μκΈ°λ©΄ κ°μ λ©λͺ¨λ¦¬ 곡κ°μ 곡μ νλ λ€λ₯Έ μ€λ λλ€μλ μν₯μ λ―Έμ³μ μ€λ λλ‘ μ΄λ£¨μ΄μ Έ μλ νλ‘μΈμ€μ μ μν₯μ μ€ μ μλ λ¨μ μ΄ μλ€.
λ©ν°μ€λ λμ λνμ μΈ μλ‘λ μΉ λΈλΌμ°μ μ λ λλ¬ νλ‘μΈμ€λ₯Ό μλ‘ λ€ μ μλ€.
λ λλ¬ νλ‘μΈμ€λ ν λ΄λΆμμ λ°μνλ λͺ¨λ μμ μ λ΄λΉνλ€. λ λλ¬ νλ‘μΈμ€μ μ£Όμ μν μ HTMLκ³Ό CSS, JavaScriptλ₯Ό μ¬μ©μμ μνΈμμ©μ ν μ μλ μΉ νμ΄μ§λ‘ λ³ννλ κ²μ΄λ€.
λ λλ¬ νλ‘μΈμ€μ λ©μΈ μ€λ λκ° λΈλΌμ°μ λ‘ μ μ‘λ λλΆλΆμ μ½λλ₯Ό μ²λ¦¬νλ€. κ°νΉ μΉ μ컀λ μλΉμ€ μ컀λ₯Ό μ¬μ©νλ κ²½μ°μλ μ컀 μ€λ λκ° JavaScript μ½λμ μΌλΆλ₯Ό μ²λ¦¬νλ€. μΉ νμ΄μ§λ₯Ό ν¨μ¨μ μ΄κ³ λΆλλ½κ² λ λλ§νκΈ° μν΄ λ³λμ μ»΄ν¬μ§ν° μ€λ λκ° λ μ΄μ΄λ₯Ό ν©μ±νκ³ , λμ€ν° μ€λ λκ° νλ©΄μ ν½μ λ‘ λ³ννλ€.
* μΉ μ컀(Web Worker) : https://developer.mozilla.org/ko/docs/Web/API/Web_Workers_API