반응형

cpu 바운드 2

파이썬 GIL과 멀티스레딩 - 멀티코어 환경에서 병렬 처리와 성능 한계 #1

요즘 컴퓨터 사양을 보다 보면 쿼드 코어니 옥타 코어니 하는 용어를 흔히 볼 수 있죠. 때문에 오히려 싱글 코어를 보기 어려워졌어요. 그런데, 왜 파이썬은 이 모든 코어를 동시에 사용하지 못하고 오로지 하나만 사용한다는 거예요. 이것은 파이썬의 GIL(Global Interpreter Lock) 메커니즘 때문인데요, 오늘은 파이썬의 가장 큰 특징인 GIL에 대해 정리해 보겠습니다.파이썬 GIL과 멀티스레딩 GIL(Global Interpreter Lock)GIL은 이름 그대로 파이썬 인터프리터 전체에 걸쳐 작동하는 "잠금(Lock)" 장치입니다. 파이썬 인터프리터는 파이썬 코드를 읽고 실행하는 소프트웨어인데, GIL은 이 인터프리터가 한 번에 하나의 스레드(Thread)만이 파이썬 바이트코드(Bytec..

파이썬 멀티스레딩과 멀티프로세싱의 차이와 활용 방법 - 고급 Python #7

파이썬에서는 이런 병렬 처리를 위해 크게 두 가지 방식을 제공합니다. 바로 '멀티스레딩(Multithreading)'과 '멀티프로세싱(Multiprocessing)'인데요. 이 두 가지 방식은 각각의 특징과 장단점이 있어서, 상황에 따라 적절히 선택해 사용해야 합니다.  파이썬 멀티스레딩과 멀티프로세싱의 차이와 활용  멀티스레딩 개념과 특징 멀티스레딩이라는 단어, 뭔가 복잡해 보이지만 사실 우리 일상 속에서도 쉽게 찾아볼 수 있는 개념입니다.예를 들어볼게요. 여러분이 책을 읽으면서 동시에 음악을 듣고 있다고 생각해 보세요. 이때 여러분의 뇌는 '책 읽기'와 '음악 듣기'라는 두 가지 작업을 동시에 처리하고 있는 거죠. 이처럼 하나의 프로세스(우리 뇌) 안에서 여러 작업(책 읽기, 음악 듣기)을 동시에 처..

반응형