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 수를 증가시킬 수 있다. 하지만 이에따라 사용하는 자원이 증가한다. 반대의 경우도 물론 존재한다.
'Study' 카테고리의 다른 글
(MySQL / MariaDB) Too many connections 해결 (max connections 오류) (2) | 2020.01.19 |
---|---|
[2019 정보처리기사 실기 3회] 공부 방법 및 시험 후기 및 자료 (4) | 2019.11.07 |
(JAVA) Java DFS 구현 Java dfs ArrayList (0) | 2019.03.16 |
(Java Greedy) 문자열안에 포함된 가장 긴 팰린드롬(palindrome)문자열 (0) | 2019.03.15 |
(JAVA) JAVA Stack을 활용하여 infix-postfix 변환 및 계산 (0) | 2019.03.15 |
댓글