CPU Bound와 스레드 컨텍스트 스위칭

CPU Bound 작업에서 스레드를 늘려도 처리 속도가 비례해서 빨라지지 않습니다. CPU 코어 수와 컨텍스트 스위칭 비용 때문입니다. CPU Bound란? 이미지/영상 처리, 압축, 수치 계산, 암호화처럼 외부 대기 없이 CPU를 직접 사용하는 작업입니다. 작업이 끝날 때까지 CPU를 계속 점유하며, 연산 자체가 병목이 됩니다. I/O Bound 작업(DB 쿼리, 네트워크 호출)과 달리 스레드가 대기 상태에 들어가지 않습니다. 1 코어 기준 동작 1 코어에서 여러 스레드를 돌리는 건 동시성(Concurrency)입니다. 실제로 동시에 실행되는 게 아니라 OS가 시간을 쪼개 번갈아 실행하는 방식입니다. ...

2026년 4월 17일