728x90
반응형
질문 : 다중 처리 대 스레딩 Python
스레딩에 비해 다중 처리 의 장점을 이해하려고합니다. 다중 처리 가 Global Interpreter Lock을 우회한다는 것을 알고 있지만 다른 이점이 있으며 스레딩 이 똑같은 일을 할 수 없습니까?
답변
threading
모듈은 스레드를 사용하고 multiprocessing
모듈은 프로세스를 사용합니다. 차이점은 스레드는 동일한 메모리 공간에서 실행되는 반면 프로세스에는 별도의 메모리가 있다는 것입니다. 이로 인해 다중 처리를 사용하여 프로세스간에 개체를 공유하기가 조금 더 어려워집니다. 스레드는 동일한 메모리를 사용하기 때문에 예방 조치를 취해야합니다. 그렇지 않으면 두 개의 스레드가 동시에 동일한 메모리에 기록됩니다. 이것이 글로벌 인터프리터 잠금의 목적입니다.
생성 프로세스는 스레드 생성보다 약간 느립니다.
출처 : https://stackoverflow.com/questions/3044580/multiprocessing-vs-threading-python
728x90
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
함수 호출에서 별표 및 이중 별표 연산자가 의미하는 것 (0) | 2021.07.27 |
---|---|
Python의 easy_install로 설치된 패키지를 제거하는 방법 (0) | 2021.07.23 |
Python2에서 dict.items ()와 dict.iteritems ()의 차이점 (0) | 2021.07.22 |
Python-입력한 두 값 사이의 값으로 배열 생성하기 (0) | 2021.07.22 |
Pandas 데이터 프레임에서 여러 열 선택 (0) | 2021.07.20 |