Zettelkasten

Preemptive concorrency(선점형 동시성 모델)

·수정 2026.04.23·수정 3

요약

  • 선점형 동시성 모델은 운영체제나 런타임이 작업을 중단시키고, 다른 작업을 실행시키는 모델

본문

  • 선점형 동시성 모델은 운영체제나 런타임이 강제로 작업을 중단시키고 다른 작업을 실행시킨다.
  • 일반적으로 스케줄러 정책이나, 시분할에 의해 실행이 나눠짐
  • OS 커널이 타이머 인터럽트를 이용해서 일정 주기마다 실행중인 스레드를 멈추고 다른 스레도 전환함
  • 장점
    • 개발자가 yield를 하지 않아도 자동으로 공정한 실행을 보장함
    • CPU 바운드 작업에서도 여러 스레드가 동시에 진행되는 것처럼 보임
  • 단점
    • Context switch가 언제 일어날지 예측하기 어려움
    • lock, 뮤텍스와 같은 동기화 도구들이 필요함
    • context switch로 인한 overhead
  • 예시
    • python threading

참고

CPU 스케줄링 방식의 naive한 구현 FIFO, SJF,