스레드 장단점

2021. 2. 23. 19:56Computer(인강)/운영체제

728x90
반응형

안녕하세요 bannavi에요^ㅅ^

오늘은 스레드의 장단점을 살펴보겠습니다!

 

 

 

Thread 장점1

1. 사용자에 대한 응답성 향상

 

 

2. 자원 효율

- IPC 기법과 같이, 프로세스간 (자원 공유를 위한) 번거로운 작업이 필요 없음

- 프로세스 안에 있으므로, 프로세스의 데이터에 모두 접근 가능

 

 

3. 작업이 분리되어 코드가 간결하다

- 사실 작성하기 나름

 

 

Thread의 단점

1. 스레드 중 한 스레드만 문제가 있어도, 전체 프로세스가 영향을 받음

 

2. 스레드를 많이 생성하면, Context Switching이 많이 일어나, 성능 저하

- 예: 리눅스 OS에서는 Thread를 Process와 같이 다룸

스레드를 많이 생성하면 모든 스레드를 스케쥴링 해야 하므로, Context Switching이 빈번할 수밖에 없음.

 

 

 

스레드와 프로세스의 비교

- 프로세스는 독립적, 스레드는 프로세스의 서브셋

- 프로세스는 각각 독립적인 자원을 가짐, 스레드는 프로세스 자원 공유

- 프로세스는 자신만의 주소영역을 가짐, 스레드는 주소영역 공유

- 프로세스간에는 IPC 기법으로 통신해야 함, 스레드는 필요 없음

 

 

 

PThread

 

스레드는 뭘로 코드에서 만드느냐..

 

-POSIX 스레드(POSIX Threads, 약어:PThread)

- Thread 관련 표준 API

 

 

정리

Thread 개념 정리

- 프로세스와 달리 스레드간 자원 공유

 

스레드 장점

- CPU 활용도를 높이고

- 성능 개선 가능

- 응답성 향상

- 자원 공유 효율(IPC를 안써도 됨)

 

 

스레드 단점

- 하나의 스레드에서 발생한 문제가, 프로세스 전반에 영향을 미침

- 여러 스레드 생성시 성능 저하 가능

728x90
반응형

'Computer(인강) > 운영체제' 카테고리의 다른 글

세마포어  (0) 2021.02.25
스레드 동기화 문제  (0) 2021.02.25
스레드 개념  (0) 2021.02.23
프로세스 총정리와 프로그램 성능 개선 방법의 이해  (0) 2021.02.23
참고_IPC 기법2  (0) 2021.02.23