이전에서 스레드 모델 이야기를 했다. 유저 레벨 스레드의 경우, 스레드를 제한없이 만들 수 있다는 등의 이야기를 했는데 스레드를 많이 사용하다보면 이를 생성/제거하는 것이 성능상의 오버헤드가 될 수 있다. 관리를 잘 못해주면 프로그램이 오작동할 수도 있다. 그래서 이를 잘 관리 해주기 위해 implicit threading을 해주는 툴들이 개발됐다. 이 툴들은 스레드 생성/관리를 런타임 라이브러리, 컴파일러를 통해 사용된다. 툴에는 Thread Pool과 OpenMP 두가지가 대표적이다. Thread Pool 서버-클라이언트 시스템에서 스레드를 사용하는 모델이 있다고 생각해보자. 클라이언트가 서버에 리퀘스트를 보내면, 서버는 이를 실행시키기 위해 스레드를 생성하여 리퀘스트를 핸들링할 것이다. 그리고 작업..