목록 보기
Java 가상 스레드, 깊이 있는 소스 코드 분석과 작동 원리 3편 - 고정 이슈와 한계
백엔드

Java 가상 스레드, 깊이 있는 소스 코드 분석과 작동 원리 3편 - 고정 이슈와 한계

라인
라인
2024년 12월 27일

두줄요약

가상 스레드의 고정(pinned) 이슈를 JDK 소스 코드로 분석했습니다. 블로킹 I/O와 synchronized, JNI 사용 시 발생 가능성과 한계를 살펴봤습니다.

핵심 내용

  • 가상 스레드의 고정(pinned) 이슈와 작동 원리를 JDK 소스 코드 기준으로 분석
  • 컨텍스트 스위칭 중 캐리어 스레드가 교체되지 않고 고정되는 과정과 예외 흐름 정리
  • 고정 원인을 NATIVE, MONITOR, CRITICAL_SECTION으로 구분

주의할 점

  • 블로킹 I/O나 synchronized, JNI 사용 시 고정 이슈 발생 가능성 점검 필요
  • 고정 상태에서는 캐리어 스레드가 CPU에서 격리돼 성능 저하와 데드락 위험 증가

적용해볼 점

  • 가상 스레드 도입 전 고정 가능 지점 사전 점검 필요
  • synchronized와 네이티브 호출 경로를 중심으로 병목과 한계 검토 필요

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...