λ½μ΄λ?
νμ΄μ¬μμλ GIL (global interpreter lock) λ°©μμΌλ‘ μΈν°ν리ν°μ λ½μ κ²λλ€.μΈν°νλ¦¬ν° : νλ‘κ·Έλλ° μΈμ΄μ μμ€ μ½λλ₯Ό λ°λ‘ μ€ννλ μ»΄ν¨ν° νλ‘κ·Έλ¨ λλ νκ²½
λ½μ κ±΄λ€ : μΉΈμ΄ νλ λΏμΈ νμ₯μ€μ μ¬λλ€μ΄ μμ¬λμ΄ λμ€κΈ°κΉμ§λ₯Ό κΈ°λ€λ¦¬λ κ²μ²λΌ, 미리 μ μ ν μ¬λμ΄ λ½μ κ±Έλ©΄ μ€λ λλ λ½μ΄ ν릴 λ κΉμ§ κΈ°λ€λ¦Ό.
μ¦! λμμ νλ μ΄μ μ€λ λκ° μ€νμ΄ λμ§ μμ΅λλ€.(λ€μ€ μ½μ΄κ° μλ)
π κ·ΈλΌ, νμ΄μ¬μ μ GIL λ°©μμ μ±ννμκΉ?
1. νμ΄μ¬μ½λλ μΈν°ν리ν°λ₯Ό ν΅ν΄ μ€νλκΈ° λλ¬Έμ
2. νμ΄μ¬μ λ©μΉκ° ν¬κΈ° λλ¬Έμ
π λ¬Έμ κ° λμ§ μμκΉ?
μ½μ΄λ₯Ό νλλ°μ μ¬μ©νμ§ λͺ»νκΈ° λλ¬Έμ multi threads λ₯Ό μ§μνλ κ²μ΄ μ±λ₯μ ν° λ¬Έμ κ° μμ κ±°λΌκ³ μκ° ν μ λ μμ΅λλ€.
κ·Έλ¬λ λλΆλΆμ νλ‘κ·Έλ¨μ I/O bound
μ΄κΈ° λλ¬Έμ ν° λ¬Έμ λ μμ΅λλ€.
I/O bound : μ°μ°λ³΄λ€, input/output μ λ μκ°μ΄ λ€μ΄κ°λ νλ‘μΈμ€
I/O eventλ₯Ό κΈ°λ€λ¦¬λ λμ λ€λ₯Έ μ€λ λκ° CPUλ₯Ό μ¬μ©νλ©΄ λκΈ° λλ¬Έμ
λλ€.
π κ·Έλμ μΈμ μ΄λ€κ³ ?
μ€λ λμ μμλ₯Ό μ μ΄νλλ° μ¬μ©λλ λκΈ°ν μλ¨
λ°λλ½μ΄λ?
λ κ° μ΄μμ νλ‘μΈμ€λ μ€λ λκ° μλ‘ μλλ°©μ μμ μ΄ λλκΈ°λ§μ κΈ°λ€λ¦¬κ³ μκΈ° λλ¬Έμ κ²°κ³Όμ μΌλ‘ μ무κ²λ μλ£λμ§ λͺ»νλ μν ( μ¦ μλ‘ κ°μ λ¬Άμ¬μλ μν)
κ·Έλμ, λ½μ μμλλ‘ νλνλ©΄, κ΅μ°© μνλ₯Ό λ§μ μ μμ΅λλ€.