Python μ μ μΈν°νλ¦¬ν° λ½ GIL
νμ΄μ¬ μΈν°νλ¦¬ν° λ½(Python Interpreter Lock, GIL)μ νμ΄μ¬μμ λ©ν°μ€λ λ νλ‘κ·Έλλ°μ ν λ λ°μνλ λ¬Έμ μ΄λ€.
GILμ CPython μΈν°ν리ν°μμ μ€νλλ νμ΄μ¬ μ½λμ μ€νμ λ΄λΉνλ μ μ λ½μ΄λ€. μ΄ λ½μ λͺ¨λ νμ΄μ¬ μ€λ λκ° μ€ν μ€μΈ νμ΄μ¬ λ°μ΄νΈμ½λμμ ν λ²μ νλμ μ€λ λλ§ μ€ννλλ‘ λ³΄μ₯νλ€.
Wikiλ° μλ£λ₯Ό 보면 1994λ 1μ 26μΌ λ°νλ‘ μλΉν μ€λλ ꡬ쑰체μ΄λ€. μ΄ μκΈ°μ λ¨μΌ μ½μ΄μμ μλνλ μ»΄ν¨ν°λ₯Ό μ£Όλ‘ μ¬μ©ν΄ λ©ν°μ€λ λμ λν κ³ λ―Ό μμ΄ κ΅¬ννκ² λμλ€.
κ²°κ³Όμ μΌλ‘ νμ΄μ¬μ λμμ± μ²λ¦¬μ μ νμ΄ μκ²Όλ€. GILμ λ¬Έμ μ μ λ©ν°μ½μ΄ CPUμμ CPU λ°μ΄λ μμ μ μννλ λ©ν°μ€λ λ μ ν리μΌμ΄μ μ μ±λ₯μ μ νμν¬ μ μλ€.
μλνλ©΄ ν λ²μ νλμ μ€λ λλ§ μ€νλλ―λ‘ λ€λ₯Έ μ€λ λλ λκΈ° μνκ° λμ΄ CPU μμμ νμ©νμ§ λͺ»νκΈ° λλ¬Έμ΄λ€. νμ§λ§ GILμ νμ΄μ¬ μΈν°ν리ν°μ μμ μ±μ μ μ§νλ λ° μ€μν μν μ νλ€. νμ΄μ¬ μΈν°ν리ν°μ λ§μ κΈ°λ₯κ³Ό νμ₯ λͺ¨λμ΄ GILμ μμ‘΄νκΈ° λλ¬Έμ GILμ μ κ±°νκΈ°λ μ½μ§ μλ€. (κ·Έλ§νΌ Interpreterμ νΈμμ±) λ°λΌμ νμ΄μ¬μμλ λ©ν°μ€λ λ μμ μ΄ νμν κ²½μ°, λ³λ ¬ μ²λ¦¬ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νκ±°λ λ©ν°νλ‘μΈμ±μ μ΄μ©νλ κ²μ΄ μ’μ ν΄κ²°μ± μ΄λ€.