퀴즈 / 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 모듈을 사용합니다.

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

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

정규반 살펴보기
START THE LOOP · CHOOSE

시장과 사람의 답을 봤다면,
다음 결과물의 구조를 고릅니다.

한 번의 결과에 기대지 않고 다시 만들 수 있도록, 문제 발견부터 제작·배포·수익화까지 이어지는 전체 흐름을 익혀보세요.

TTJ CLASS에서 다음 구조 고르기
처리 중...