프로그래밍 언어/Python

[Python] 다중 처리 vs 스레딩

Rateye 2021. 7. 22. 10:40
728x90
반응형
질문 : 다중 처리 대 스레딩 Python

스레딩에 비해 다중 처리 의 장점을 이해하려고합니다. 다중 처리 가 Global Interpreter Lock을 우회한다는 것을 알고 있지만 다른 이점이 있으며 스레딩 이 똑같은 일을 할 수 없습니까?

답변

threading 모듈은 스레드를 사용하고 multiprocessing 모듈은 프로세스를 사용합니다. 차이점은 스레드는 동일한 메모리 공간에서 실행되는 반면 프로세스에는 별도의 메모리가 있다는 것입니다. 이로 인해 다중 처리를 사용하여 프로세스간에 개체를 공유하기가 조금 더 어려워집니다. 스레드는 동일한 메모리를 사용하기 때문에 예방 조치를 취해야합니다. 그렇지 않으면 두 개의 스레드가 동시에 동일한 메모리에 기록됩니다. 이것이 글로벌 인터프리터 잠금의 목적입니다.

생성 프로세스는 스레드 생성보다 약간 느립니다.

출처 : https://stackoverflow.com/questions/3044580/multiprocessing-vs-threading-python

 

728x90
반응형