-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpy_ad_1_1.py
More file actions
35 lines (29 loc) · 1.43 KB
/
py_ad_1_1.py
File metadata and controls
35 lines (29 loc) · 1.43 KB
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
32
33
34
35
"""
Section 1
Multithreading - Difference between Process And Thread
Keyword - Process, Thread
"""
"""
(1).프로세스
- 운영체제 -> 할당 받는 자원 단위(실행 중인 프로그램)
- CPU동작 시간, 주소공간(독립적)
- Code, Data, Stack, Heap -> 독립적
- 최소 1개의 메인스레드 보유
- 파이프, 파일, 소켓등을 사용해서 프로세스간 통신(Cost 높음)-> Context Switching
(2).스레드
- 프로세스 내에 실행 흐름 단위
- 프로세스 자원 사용
- Stack만 별도 할당 나머지는 공유(Code, Data, Heap)
- 메모리 공유(변수 공유)
- 한 스레드의 결과가 다른 스레드에 영향 끼침
- 동기화 문제는 정말 주의(디버깅 어려움)
(3).멀티 스레드
- 한 개의 단일 어플리케이션(응용프로그램) -> 여러 스레드로 구성 후 작업 처리
- 시스템 자원 소모 감소(효율성), 처리량 증가(Cost 감소)
- 통신 부담 감소, 디버깅 어려움, 단일 프로세스에는 효과 미약, 자원 공유 문제(교착상태), 프로세스 영향준다.
(4).멀티 프로세스
- 한 개의 단일 어플리케이션(응용프로그램) -> 여러 프로세스로 구성 후 작업 처리
- 한 개의 프로세스 문제 발생은 확산 없음(프로세스 Kill)
- 캐시 체인지, Cost 비용 매우 높음(오버헤드), 복잡한 통신 방식 사용
commit test2
"""