일반 CPython의 GIL은 한 순간에 한 스레드만 Python 바이트코드를 실행하게 해 CPU 작업을 병렬화하지 못하지만, I/O 대기 중에는 풀리므로 동기 네트워크·파일 라이브러리를 함께 기다리는 데 쓸 수 있어. 3.13의 자유 스레딩 빌드는 선택적 실험 경로야.
Thread·start·join 아래에 Lock, RLock, Event, Condition과 스레드 안전 Queue가 있고, 보통은 ThreadPoolExecutor가 작업과 결과를 더 단순하게 관리해. GIL도 검사 후 갱신 같은 여러 단계의 경쟁 조건을 막지 않으니 공유 상태는 잠가.