
Computer Science/Operating System
Thread Pool(스레드 풀) / Monitor(모니터) / Fork-Join(포크-조인)
Thread를 단순하게 사용할 때 문제점 스레드는 생성 비용이 많이 든다. 스레드를 생성할 때마다 Kernel 레벨의 스레드와 연결해야 한다. Kernel의 작업이 필요하다. 스레드가 많아질수록 Context-Switching이 더 자주 발생하게 되어 CPU overhead가 증가한다. → Thread Pool을 사용하여 문제점을 해결한다. Thread Pool 스레드를 허용된 개수 안에서 사용하도록 제한하는 시스템을 말한다. 스레드의 최대 개수를 제한하고 미리 생성한다. 사용자로부터 들어온 요청을 작업 큐에 넣는다. 작업 큐에 들어 있는 작업을 스레드 풀의 스레드가 맡아 처리한다. 작업이 끝난 스레드는 다시 3번 과정을 진행한다. 장점 스레드를 재사용할 수 있기 때문에 새로운 스레드를 생성하는 비용을 ..