inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

1시간만에 끝내는 virtual thread in spring boot

summary

pinned 확인법

427

adoda

작성한 질문수 3

0

https://github.com/openjdk/jdk/pull/17221

이런 내용이 있네요. -Djdk.tracePinnedThreads 보다 JFR 을 권장하는 것 같습니다.

java spring-boot 동시성 thread virtual-thread

답변 3

1

김민석

덧붙이자면, -Djdk.tracePinnedThreads와 open jdk 23 이하에서 제공하는 JFR 이벤트는 성격이 다릅니다.

-Djdk.tracePinnedThreads는 pinning이 일어나자 마자 stack trace가 찍힙니다. 하지만 jdk 21 이하에서 제공하는 JFR 이벤트는 후행 이벤트[1]입니다. pinning이 일어난 로직이 끝나야 이벤트가 출력됩니다. open jdk 24 이상부터는 -Djdk.tracePinnedThreads를 JFR로 완전히 대체할 수 있다고 해야 더 명확할 것 같습니다[2]. 물론 작성자님이 올리신 것 처럼 -Djdk.tracePinnedThreads를 권장하진 않습니다[3]. 다만 이를 대체할 기능이 크게 없네요😅

 

[1]

jdk.VirtualThreadPinned indicates that a virtual thread was parked while pinned, i.e., without releasing its platform thread (see above). This event is enabled by default, with a threshold of 20ms.
https://openjdk.org/jeps/444

[2]

A jdk.VirtualThreadPinned event is recorded by JDK Flight Recorder (JFR) whenever a virtual thread blocks inside a synchronized method. This event has been useful to identify code that would benefit from being changed to make less use of synchronized methods and statements, to not block while inside such constructs, or to replace such constructs with java.util.concurrent locks.
https://openjdk.org/jeps/491

[3]

As regards jdk.tracePinnedThreads. We want this system property to go away, it's just unfortunate that it seems to be widely used.

https://github.com/openjdk/jdk/pull/17221#issuecomment-1874211812

0

Hello World

https://docs.oracle.com/en/java/javase/21/core/virtual-threads.html#GUID-2BCFC2DD-7D84-4B0C-9222-97F9C7C6C521

위 oracle guide 에는 명확히 적혀있지 않아서 저도 잘 몰랐네요. 제보 감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

제공된 정보에는 질문하신 내용과 관련된 내용이 포함되어 있지 않습니다. 다른 질문이 있으시면 도움드릴 준비가 되어 있습니다.

클로드코드 명령어 - 대화&세션관리부분 강의자료 빈폴더

0

13

0

Spock given and가 검증을 하는지

0

11

0

Issuance 테이블에 status, couponId 인덱스가 꼭 필요할까요?

2

16

1

readme에 대한 자료는 따로 받아볼수 있나요?

0

9

1

11강 따라하는중에 오류가 발생해서 문의드립니다.

0

15

1

InvalidCurriculumException DIP 적용 여부 문의

0

15

1

ProductController 에서 타협하지 않는다면 어떤 형태가 되나요?

1

20

2

섹션2, 대화&세션관리 수업 자료 누락

0

33

2

영상 다운로드는 안되나요?

0

41

1

IntelliJ IDEA 체험 만료

0

36

2

부하 테스트 시 설정 관련 질문드립니다

1

59

1

HelloSpringApplication.java 클래스 실행 오류

0

38

1

build 시 에러 해결방법 공유(docker.desktop 업데이트 -> 의존성 버전 수정)

0

59

2

예외처리 3강 문의

0

52

1

챌린지 시작일 문의

0

48

0

Inner class로 Config를 지정하는 이유

0

38

1

26년2회 실기기출은 언제쯤...

0

84

2

네이버 API | '검색 - 책' API 제공 중단

0

63

2

ArticleReadService 관련 질문

0

39

1

kafka 이벤트 발행 실패 시 at-least-once를 보장하는 방법이 궁금합니다.

1

91

1

ThreadPoolTaskExecutor에서의 가상스레드

0

301

2

1강 성능비교 질문

0

380

1

스케쥴러 질문드립니다

0

338

2

Performance 테스트에서 CPU 작업도 Virtual이 빠른것 같습니다

0

374

1