티스토리 뷰

1. 멀티 프로레스와 멀티 스레드

- 프로세스(process) : 운영 체제에서 실행되는 각 프로그램은 각각이 벼도의 프로세스

- 각 프로세스에는 하나 이상의 스레드(thread)가 있음

- 한 프로세스에 여러개의 스레드가 있으면 여러 작업을 마치 동시에 수행하는것처럼 보임.

- 멀티 프로레스와 멀티 스레드 두가지 방법 사용시 프로그램의 작업 부하를 줄일 수 있음. 

 

 

* 멀티 프로세스

- 별도의 메모리 영역을 가지며, 특별한 메커니즘으로만 통신할 수 있음

- 프로세서는 각 스레드에 대해 별도의 레지스터 집합을 불러오거나 저장하는데, 프로세스 간 데이터 공유와 통신용으로는 비효율적

- subprocess 모듈 사용

 

* 멀티 스레드 

- 단일 프로세스 내의 멀티 스레드는 동일한 메모리에 접근

- 스레드는 데이터 공유를 통해 간단하게 통신하는데, threading 모듈의 처리를 통해 한번에 한 스레드만 메모리 영역에 접근 가능

- 각 프로세스가 독립적인 스택, 힙, 코드, 데이터 영역을 가지는 반면, 한 프로세스에 속한 스레드는 스택 영역을 제외한 메모리 영역을 공유

 

 

 

'Programming > python' 카테고리의 다른 글

python - pandas [3] groupby  (0) 2019.10.07
python from itertools import product  (0) 2019.10.07
python hashlib  (0) 2019.10.04
python partial 함수와 lambda 함수  (0) 2019.10.04
python numpy reshape 정리  (0) 2019.10.03
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함