그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록Concurrency
Concurrency

코루틴 기반 처리가 기존 스레드 방식보다 가벼운 이유는 무엇인가요?

실무4/5
설계3/5
인간4/5
기초3/5

면접관의 질문 의도

"가볍다"를 추상어로 받아치는지, 아니면 스택 크기·컨텍스트 스위칭·스레드 점유 해제라는 세 축으로 풀어내는지를 가른다. 후속으로 블로킹 호출·CPU 바운드·Virtual Thread 비교를 던질 판단 기준이 된다.

큐레이션 답변

학습 자료

스레드는 OS 자원이라 각자 수백 KBMB 단위 스택과 커널 구조체를 들고 있고, 전환할 때마다 커널 모드로 들어가 레지스터·메모리 매핑을 갈아 끼운다. 코루틴은 사용자 공간 객체라서 상태만 몇십수백 바이트로 저장하고 전환도 함수 호출 수준에서 끝난다. 결정적으로 suspend 지점에서 스레드를 반납하기 때문에 I/O 대기 중에도 그 스레드가 다른 작업을 돌릴 수 있다. 그래서 소수 스레드로 수만 단위 동시 작업을 받아내는 구조가 가능해진다.

좋은 답변 구조

  1. 01스레드의 자원 단위(스택·커널 구조체)와 코루틴의 자원 단위(객체 상태)를 입력으로 대비한다
  2. 02컨텍스트 스위칭이 커널 모드 전환과 함수 호출 수준으로 갈리는 단계 차이를 설명한다
  3. 03suspend 시점에 스레드가 반납되는 흐름이 점유 해제로 이어지는 결과를 짚는다
  4. 04CPU 바운드·블로킹 호출에서는 이 메커니즘이 깨진다는 한계로 마무리한다

자주 실수하는 포인트

"코루틴이 가볍다"를 메모리/전환/점유 축으로 분해하지 못하고 결론만 반복한다
suspend를 단순 비동기 키워드로 이해하고 스레드 반납이 핵심이라는 점을 놓친다
블로킹 JDBC·파일 I/O를 suspend 함수 안에서 호출하면서 코루틴 효율이 유지된다고 본다
CPU 바운드 작업도 코루틴으로 감싸면 처리량이 늘어난다고 단정한다

실무 맥락

  • 동시 요청 수가 수천 단위로 늘어나는 외부 API 게이트웨이/프록시 환경
  • 스레드 풀 포화로 응답이 큐잉되며 p99 지연이 튀는 백엔드 서버
  • 외부 호출이 많아 대부분의 스레드가 I/O 대기로 묶이는 BFF 계층
  • Kotlin 코루틴이나 JDK 21 Virtual Thread 도입을 검토하며 기존 스레드 풀 모델의 한계를 분석하는 상황

본인 경험에 녹이는 힌트

스레드 풀 고갈로 장애를 한 번 본 경험이 있다면 "스레드를 점유하지 않는다"는 의미가 왜 결정적인지 자기 언어로 풀 수 있다

비동기 전환 작업에서 블로킹 라이브러리를 만나 처리량이 안 늘던 경험은 디스패처/블로킹 경계 이야기로 자연스럽게 이어진다

JMeter·k6로 동시 사용자 수를 올리며 메모리/CPU를 본 적 있다면 경량성이 처리량으로 어떻게 환산되는지 수치로 말할 수 있다

코루틴 도입 후에도 성능이 기대만큼 오르지 않아 디스패처 설정이나 블로킹 호출을 뒤진 경험이 있다면 suspend 메커니즘 이해가 디버깅에 직결된다는 근거로 쓸 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1코루틴 안에서 블로킹 JDBC 드라이버를 호출하면 정확히 어떤 일이 벌어지나요
Q2JDK 21의 Virtual Thread와 코루틴은 같은 문제를 어떤 방식으로 다르게 푸나요
Q3CPU 바운드 작업을 코루틴으로 감쌌을 때 처리량이 늘지 않는 이유는 무엇인가요
Q4코루틴 디스패처(IO/Default)를 어떤 기준으로 골라야 하나요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문