본문 바로가기

취업/면접

프로세싱 vs 쓰레드

프로세스와 쓰레드

 

Process

-       실행 중인 프로그램

-       리소스와 쓰레드로 구성

-       모든 프로세스는 하나 이상의 쓰레드를 가지고 있다.

Thread

-       경량화된 프로세스이다.

-       프로세스 내에서 실제 작업을 수행함

 

 

 

 

프로세스와 쓰레드의 차이

 



 

Process

-       Code, Data, Heap, Stack 영역으로 이루어져 있다.

-       각각의 Memory space를 차지한다.

Thread

-       프로세스 안에서 동작하며 Code, Data, Heap 영역을 공유하고 별도의 Stack만 가지고 있다.

-       Context switching시 Stack영역만 switching하면 되므로 프로세스 스위칭 보다 빠르다.

-       쓰레드 간 자원 공유가 가능하여 편리하지만 자원 동기화의 문제가 있다.

 

 

 

 

쓰레드의 장단점

 

장점

-       시스템의 Throughput(처리량)이 향상 된다.

-       자원 소모가 줄어든다.

-       응답 시간이 단축된다.

단점

-       다른 프로세스에서 쓰레드를 제어할 수 없다.

-       여러 개의 쓰레드를 사용할 때는 자원 공유의 문제가 발생할 수 있으므로 신중하게 사용해야 한다.

-       디버깅이 어려워진다.



출저 http://includestdio.tistory.com/6

'취업 > 면접' 카테고리의 다른 글

다음 카카오  (0) 2016.06.22
추상클래스 vs 인터페이스  (0) 2016.06.01
IT 면접 질문  (0) 2016.05.27