본문 바로가기
Java

자바21 가상 스레드(Virtual Threads) 이해 - 5회차 학습계획

by 긴소리 2024. 12. 31.
728x90
반응형

자바 21, 가상스레드 개념을 이해하기 위해 5회차 학습 계획을 설정했다.

초보 개발자 기준으로 이해할 수 있도록 학습 목표를 설정하고, 학습할 예정.

 

 

1회차: 동시성 기본 개념 이해

목표: 동시성과 스레드의 기본 원리 이해학습 내용:

  • 동시성(Concurrency)과 병렬 처리(Parallelism)의 차이점 학습.
  • 기존 자바 스레드의 구조와 문제점 이해.
  • Thread 클래스와 Runnable 인터페이스 실습.

실습 과제:

  1. 여러 스레드로 간단한 작업 분산 처리 프로그램 작성.
  2. 스레드 풀(ThreadPool)을 활용한 기본적인 작업 큐 생성.

추천 학습 자료:

  • "Java Concurrency in Practice" 책의 1장.
  • 간단한 유튜브 강의: "Java Threads for Beginners".

 

2회차: 가상 스레드 이해와 기초 실습

목표: 가상 스레드의 개념과 기본 사용법 익히기

학습 내용:

  • 가상 스레드란 무엇인가?
  • 기존 스레드와 가상 스레드의 차이점.
  • 자바 21의 Thread.startVirtualThread API 사용법.

실습 과제:

  1. 가상 스레드를 생성하고 동작 비교 실험.
  2. 100,000개의 가상 스레드와 기존 스레드를 생성하며 메모리와 CPU 사용률 비교.

추천 학습 자료:


3회차: 가상 스레드와 기존 동시성 API 통합

목표: 기존 동시성 API와 가상 스레드의 통합 이해학습 내용:

  • ExecutorService를 사용하여 가상 스레드를 관리.
  • 기존 동시성 코드에서 가상 스레드로 전환 실습.
  • I/O 작업에서의 가상 스레드 활용.

실습 과제:

  1. Executors.newThreadPerTaskExecutor를 활용한 작업 처리.
  2. 파일 읽기/쓰기 작업을 가상 스레드로 병렬 처리.

추천 학습 자료:

  • 유튜브 강의: "Virtual Threads vs Executors".
  • 공식 예제 코드: OpenJDK Virtual Threads GitHub.

4회차: 가상 스레드 심화 학습

목표: 가상 스레드의 한계와 최적화 이해학습 내용:

  • 가상 스레드의 동작 원리(JVM 내부 구조).
  • 스레드 로컬(ThreadLocal)과 가상 스레드의 관계.
  • 가상 스레드의 성능 최적화 방법.

실습 과제:

  1. 대규모 네트워크 요청 처리 프로그램 작성.
  2. ThreadLocal이 가상 스레드에서 어떻게 작동하는지 실험.

추천 학습 자료:

  • "Understanding JVM for Virtual Threads" 강의.
  • 블로그: "Scaling with Java Virtual Threads".

5회차: 실제 프로젝트에 적용

목표: 가상 스레드를 프로젝트에 적용하는 방법 익히기학습 내용:

  • REST API 서버에서 가상 스레드 활용(Spring Boot 예제).
  • 대규모 데이터 처리 시스템 설계와 가상 스레드 사용.
  • 가상 스레드 디버깅 및 성능 모니터링.

실습 과제:

  1. Spring Boot와 가상 스레드를 사용해 간단한 REST API 서버 구현.
  2. 애플리케이션 실행 시 성능 모니터링 도구(JConsole, VisualVM)로 가상 스레드 분석.

추천 학습 자료:

  • "Spring Boot with Virtual Threads" 튜토리얼.
  • 커뮤니티: Stack Overflow 자바 21 질문 검색.

 

 

/

개인 학습을 위해 작성하는 글입니다.

웹 서핑을 통해 획득한 정보로 정확하지 않은 정보, 수정이 필요한 정보가 있으면 언제든 말씀해 주세요.

 

반응형

댓글