[파이썬] GIL: 무엇이고, 왜 필요하고, 왜 못 없애나
·
파이썬/GIL 제거 동향
파이썬을 처음 배울 때 파이썬은 멀티 스레드를 사용해도 병렬처리가 되지 않는다고 배웠다. 이것을 GIL이라고 배웠고, 단순히 인터프리터가 멀티스레드 환경에서 한 개의 스레드만 사용하도록 강제했고 우회할 대안으로는 multiprocessing 라이브러리를 사용해서 멀티 프로세스로 접근하라고 외웠다. 실무에서 파이썬을 다루면서 실제 내부 구조를 깊게 파악하고 싶다는 호기심이 생겼다. 특히 최근에 화두가 되고 있는 파이썬의 GIL 제거 시도부터 공부하면서 파이썬 내부를 분석해보고자 한다. 이번 포스트에서는 GIL의 정의와 역사, 그리고 초기 제거 시도에 대해서 다루고자 한다.GIL(Global Interpreter Lock) 이란?인터프리터 프로세스가 멀티 스레드 환경에서 하나의 스레드에게만 Lock을 부여..