인프런 커뮤니티 질문&답변

bramhome5848님의 프로필 이미지
bramhome5848

작성한 질문수

더 자바, Java 8

CompletableFuture 1

java 8과 11에서 thread 차이점이 있어 질문드립니다

작성

·

538

0

안녕하세요 선생님, 강의 너무 잘 듣고 있습니다.

강의 내용 중에 궁금한 점이 있어 질문 드립니다.

강의 중에 아래와 같은 코드를 실행하게 되면

자바 8에서의 결과

자바 11에서의 결과

이렇게 callback함수가 수행되는 thread가 다른 점을 알 수 있는데요.
자바 8에서 11로 오면서 바뀐 부분인 것 같은데 관련된 설명을 찾을 수 없어 이렇게 질문드립니다~

답변 2

3

백기선님의 프로필 이미지
백기선
지식공유자

thenRun() 관련해서 자바 8과 11에서 달라진건 없습니다. 아마 여러번 실행해 보시면 어떨 때는 main에서 실행하고 어떨 때는 supplyAsync()를 실행한거랑 같은 쓰레드에서 실행하고 그럴거에요. 

thenRun()으로 전달한 콜백은 앞선 콜백을 실행한 쓰레드나 그 쓰레드를 파생시킨 부모에서 실행하게 되어있고 바뀐건 없습니다. 부모 쓰레드나 이전 콜백을 실행한 쓰레드가 아닌 쓰레드로 실행하고 싶다면 thenRunAsync를 사용해야 합니다.

0

bramhome5848님의 프로필 이미지
bramhome5848
질문자

답변 감사드립니다~

bramhome5848님의 프로필 이미지
bramhome5848

작성한 질문수

질문하기