Tech for good

[Python] 02. Python's Gil 본문

IT/Computer Science

[Python] 02. Python's Gil

Diana Kang 2022. 10. 2. 15:32
  • Multithreading - Python's GIL
  • Keyword - Cpython, 메모리 관리, GIL 사용 이유

01. Python GIL(Global Interpreter Lock)

- CPython -> Python(bytecode) 실행 시 여러 thread 사용할 경우, 단일 스레드만이 Python object에 접근하게 제한하는 mutex

- CPython 메모리 관리가 취약하기 때문 (즉, Thread를 Safe하게 사용하기 위해 필요)

- 단일 스레드로도 충분히 빠르다.

- 프로세스 사용 가능(Numpy, Scipy 등) Gil 외부 영역에서 효율적인 코딩

- 병렬 처리는 Multiprocessing, asyncio 등 선택지 다양함.

- thread 동시성 완벽 처리를 위해 Jython, IronPython, Stackless Python 등이 존재

 

 

 

* 아래 무료 샘플 강의를 듣고 정리한 내용입니다.

https://www.inflearn.com/course/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%99%84%EC%84%B1-%EC%9D%B8%ED%94%84%EB%9F%B0-%EC%98%A4%EB%A6%AC%EC%A7%80%EB%84%90#curriculum

 

고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Origi

기술면접 대비를 위해 OS 지식을 기반으로 멀티 스레딩 및 멀티프로세싱, 병렬성, 병행성 등의 문법을 다루기 위한 과정입니다. 다수의 자원으로 실행 효율을 높이는 방법에 대한 기반 지식을 학

www.inflearn.com

 

 

 

** 추가로 참고하면 좋을 글

https://it-eldorado.tistory.com/160

 

[Python] GIL (Global Interpreter Lock) 이해하기

이번 포스팅은 Python만의 특징 중 하나인 GIL(Global Interpreter Lock)의 개념에 대해 알아볼 것이다. Python 프로그래머라면 한 번쯤은 들어봤을 법한 용어지만, 정확하게 알고 있지 못한 분들도 많을 것

it-eldorado.tistory.com