처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
퀴즈 / Python / 문제

Python의 GIL(Global Interpreter Lock)이 미치는 영향으로 올바른 것은?

어려움 Stack Overflow
보기 및 정답
A 멀티 스레드에서도 한 번에 하나의 스레드만 Python 바이트코드를 실행할 수 있어 CPU 바운드 작업에서 병렬성이 제한된다
B Python에서는 GIL 때문에 멀티 스레드를 전혀 사용할 수 없으며, threading 모듈 자체가 동작하지 않는 제약이 있다
C GIL 덕분에 모든 변수가 자동으로 스레드 세이프(thread-safe)하게 보호되어 별도의 동기화가 필요 없다
D GIL은 I/O 바운드 작업에서도 병렬 처리를 완전히 차단하여 성능이 크게 저하되는 주요 원인이 된다

해설

GIL은 CPython 인터프리터에서 한 번에 하나의 스레드만 Python 바이트코드를 실행하도록 제한하는 뮤텍스입니다. CPU 바운드 작업에서는 멀티 스레드의 이점이 제한되지만, I/O 바운드 작업에서는 GIL이 해제되므로 여전히 효과적입니다. CPU 병렬 처리에는 multiprocessing 모듈을 사용합니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기