용어 정의에서 멈추는 답인지, 페이지 테이블·TLB 같은 비용 구성요소까지 들고 와서 왜 차이가 나는지를 설명할 수 있는지를 가른다.
스레드 전환이 프로세스 전환보다 빠른 핵심 이유는 같은 프로세스 안에서는 주소 공간을 공유하기 때문이다. 프로세스 전환은 페이지 테이블 교체와 TLB·캐시 비움 같은 메모리 맥락 비용이 같이 따라붙지만, 스레드 전환은 레지스터와 스택 포인터, 스케줄링 상태 교체 정도로 끝난다. 단 "스레드는 늘 빠르다"가 아니라 교체할 컨텍스트가 적다가 본질이며, 락 경합이나 캐시 스래싱이 심해지면 그 이점은 빠르게 사라진다.
Node.js 클러스터 모드나 Java 스레드 풀에서 워커 수를 늘렸다가 처리량이 꺾인 경험이 있다면 비용 구조와 연결할 수 있다
vmstat이나 perf로 컨텍스트 스위치 카운트가 튀는 걸 직접 본 적이 있다면 그 지점을 답변에 끌어올 수 있다
스레드 풀 크기를 조정해 응답 지연이 변한 사례가 있다면 왜 그 비용이 발생했는지로 풀어낼 수 있다
아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.