운영체제

Threads 스레드

leeeehhjj 2024. 2. 18. 14:48

Thread

  • 스레드는 CPU 이용의 기본 단위
  • 스레드는 같은 프로세스에 속한 다른 스레드와 코드, data section 등을 공유한다.

Multicore Programming

  • single core 시스템 상에서 concurrency는 단순히 시간에 따라 스레드가 교대로 실행 되는 것을 의미(concurrent 병행 실행)

  • 멀티 코어 시스템에서는 각 코어에 스레드들을 배정하므로 스레드들이 병렬적으로 수행될 수 있다.

스레드 풀

  • 웹 서버는 요청을 받을 때마다 새로운 thread를 생성하게 되는데 생성 시에 일정 시간이 소요되고, 모든 요청마다 생성하므로 동시에 실행 가능한 최대 스레드 수를 정해야 한다.
  • 따라서 스레드 풀을 활용해 일정 수의 스레드를 미리 pool로 만들어 놓고, pool에 있는 스레드들로 요청을 처리한다.