Python
Thread와 Multiprocessing 차이점
시작 전 테스트환경 살피기
Time
2017년 08월 18일
OS
Linux(Ubuntu 16.04 LTS)
Language
Python 2.7
Python은 Thread를 이용한 병렬처리보다 process를 이용한 병렬처리를 더 선호한다. Thread들이 같이 공유하는 변수들에 대한 접근을 막기 위해 전체 변수들을 묶어 한번에 하나의 Thread만 일하는 방식( GIL )을 차영하였기 때문에 Multiprocess로 작업한느 것이 실행속도가 빠르다.
|
|
multiprocessing 모듈은 threading API에 기반을 두고 여러 프로세스 간 작업을 나누는 API를 제공한다.
multiprocessing은 threading 대신 사용해 multi core CPU의 장점을 누리고 Python의 global 인터프리터 lock의 병목현상을 피하게 할 수 있다.
|
|
'개발자 레니는 지금 - > 소프트웨어와 함께' 카테고리의 다른 글
[ Python ] JSON encoder and decoder (0) | 2017.09.07 |
---|---|
[ Python ] Select Module을 이용한 1:N TCP Socket 통신 (0) | 2017.08.30 |
[ Python ] Threading GIL 정의 (0) | 2017.08.24 |
[ Python ] Python Documents (0) | 2017.08.24 |
[ Python ] map() 함수 (0) | 2017.08.24 |