파이썬은 gil이라는 특성 때문에 한번에 쓰레드 하나밖에 사용하지 못한다.
이는 파이썬이 느린 이유중에 하나이기도 하다.
근데 분명 파이썬에도 멀티쓰레딩을 위한 기본 모듈들이 있다. 여기서 의문이 들어서 찾아보았다.
내가 이해한 바로는 I/O작업 즉, 파일 읽기, 쓰기 등의 작업을 할 때는 파이썬이 gil을 풀어주기 때문에 I/O 작업을 할 때는 멀티쓰레딩이 가능해진다.
컴퓨터 구조상 I/O작업의 속도는 메모리 접근이나 레지스터 접근에 비해서 엄청나게 느리다. 그래서 I/O작업에서만 멀티쓰레딩이 가능해도 많은 성능이 개선될 수 있다.
'운영체제' 카테고리의 다른 글
운영체제 가상메모리#3 Page Fault&Page Algorithm (0) | 2020.12.15 |
---|---|
운영체제 가상메모리#1 (0) | 2020.12.13 |
운영체제 Context Switching (0) | 2020.11.27 |
운영체제 프로세스 구조 (0) | 2020.11.25 |
운영체제 인터럽트란? (0) | 2020.11.24 |