프로세스와 쓰레드
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 |