Study
Thread란? Process와 Thread의 차이/ Thread Pool?
Developer RyanKim
2019. 5. 22. 23:22
Process
: OS로 부터 자원을 할당받아 실행중인 프로그램. 즉 메모리에 올라가서 실행중인 프로그램 단위.
Thread
: Process 내 에서 Task를 처리하는 단위. 따라서 한 Process 내의 Thread들은 자원을 공유.
이 그림만 외우면 완벽하다!
장/단점비교
Process | Thread | |
자원공유(서로간) | X | O |
Context Swiching 속도 | 느림 | 빠름 |
동기화문제 | X | O |
Thread Pool
: Thread의 생성및 제거에 의한 오버헤드를 줄일 수 있어 작업효율이 향상됨.
단순하게 생각하면, 처리가 필요한 Task가 쌓이는Task Queue에서 Thread Pool의 Thread들이 Task들을 꺼내 처리하는 구조라고 생각하자.
이그림만 외우면 완벽해!
만약 웹 서버에 수많은 페이지 요청이 들어오면, Thread Pool의 Thread 수를 증가시킬 수 있다. 하지만 이에따라 사용하는 자원이 증가한다. 반대의 경우도 물론 존재한다.