멀티 프로세싱 & 멀티 스레딩 & 비동기 처리
31514:
이 글은 파이썬에서 멀티 프로세싱, 멀티 스레딩, 비동기 처리를 적재적소에 사용하기 위해 각각의 개념과 적합한 경우를 알아보는 글이다. 멀티 스레딩멀티 스레딩은 하나의 프로세스 안에서 여러 개의 스레드를 동시에 실행하는 방식이다.스레드는 동일한 메모리 공간을 공유하지만, 독립적으로 실행될 수 있다. 멀티 스레딩은 주로 I/O 바운드 작업에 적합하다.I/O 바운드 작업은 네트워크 요청, 파일 읽기/쓰기 등을 말한다. 파이썬에서 멀티 스레딩이 CPU 바운드 작업이 적합하지 않은 이유는 GIL(Global Interpreter Lock) 때문이다.파이썬은 모든 것이 객체로 동작하고, 각 객체는 참조 횟수(Reference Count)를 저장하기 위한 필드를 가지고 있다.파이썬의 객체는 어디서 참조되느냐에 따..