Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 다이나믹프로그래밍
- 완전탐색
- 생명주기
- 백준
- 운영체제
- 문자열다루기
- 코딩테스트
- 프로그래머스
- 코틀린
- activity
- 트리
- BOJ
- 스택
- 동적계획법
- 세그먼트트리
- 알고리즘
- GIT
- Android
- 배열
- 이분탐색
- 자바
- 카카오블라인드
- 문자열
- 그래프
- dfs
- 분할정복
- 안드로이드
- component
- BFS
- 코딩
Archives
- Today
- Total
HS_development_log
멀티 프로세스 vs 멀티 쓰레드 본문
반응형
멀티 프로세스 vs 멀티 쓰레드
멀티 프로세스
- 장점
- 여러 개의 자식 프로세스 중 하나에 문제가 발생하면 그 자식 프로세스만 죽는 것 이상으로 다른 영향이 확산되지 않는다.
- 단점
- CPU가 프로세스를 교체할때 발생하는 문맥교환으로 인해 오버헤드가 발생한다
- 프로세스간 자원 및 정보를 교환하기 어렵다
멀티 쓰레드
- 장점
- 쓰레드 끼리는 자원을 공유하므로 메모리 공간과 시스템 자원소모가 줄어들게 된다.
- 문맥 교환시, 캐시 메모리를 비울 필요가 없기 때문에 비용이 적고 빠르다
- 따라서 시스템 처리량이 향상되고 자원소모가 줄어들며, 프로그램 응답 시간이 단축된다
- 단점
- 서로 자원을 공유하기 때문에 동시에 자원에 접근하면 동기화 문제가 발생할 수 있다
- 하나의 스레드에 문제가 생기면 전체 프로세스가 영향을 받는다
왜 멀티 쓰레드를 사용할까?
- 하나의 프로그램 안에서 여러 작업을 해결하는 것이 효율적이기 때문
- 프로세스를 생성하고 관리하는 것 보다 쓰레드를 생성하고 관리하는 것이 자원을 효율적으로 관리할 수 있다
- 문맥교환시 드는 비용이 프로세스보다 적다.
- 프로세스간 통신보다 스레드간 통신이 더 효율이 좋다
반응형