이 실습의 목표는 멀티스레드 환경에서 공유 데이터를 안전하게 관리하고, 실행 시간을 실시간으로 측정하여 평균을 올바르게 계산하는 방법을 학습하는 것
✔ 멀티스레드 환경에서의 동기화(Synchronization) 개념 이해
✔ 공유 데이터(count, average)를 안전하게 관리하는 방법 학습
✔ synchronized를 사용하여 데이터 정합성을 유지하는 방법 이해
✔ volatile을 사용하여 최신 값을 읽을 수 있도록 보장하는 방법 학습
✔ 멀티스레드 환경에서의 실행 시간 측정 및 평균값 계산 실습
1️⃣ 여러 개의 BusinessLogic 스레드가 실행됨
2️⃣ 각 스레드는 실행 시간을 측정하고, Metrics.addSample()을 통해 저장
3️⃣ Metrics 클래스에서 실행 시간들을 기록하고 평균을 계산
4️⃣ MetricsPrinter 스레드가 1ms마다 평균 실행 시간을 출력
5️⃣ 멀티스레드 환경에서도 평균값이 올바르게 계산되는지 확인
Thread): 여러 개의 BusinessLogic 스레드가 동시에 실행됨count, average): 모든 스레드가 Metrics 객체를 공유synchronized): addSample()에서 실행 시간 기록 시 동기화 적용