작성
·
538
0
안녕하세요 선생님, 강의 너무 잘 듣고 있습니다.
강의 내용 중에 궁금한 점이 있어 질문 드립니다.
강의 중에 아래와 같은 코드를 실행하게 되면
자바 8에서의 결과
자바 11에서의 결과
이렇게 callback함수가 수행되는 thread가 다른 점을 알 수 있는데요.
자바 8에서 11로 오면서 바뀐 부분인 것 같은데 관련된 설명을 찾을 수 없어 이렇게 질문드립니다~
답변 2
3
thenRun() 관련해서 자바 8과 11에서 달라진건 없습니다. 아마 여러번 실행해 보시면 어떨 때는 main에서 실행하고 어떨 때는 supplyAsync()를 실행한거랑 같은 쓰레드에서 실행하고 그럴거에요.
thenRun()으로 전달한 콜백은 앞선 콜백을 실행한 쓰레드나 그 쓰레드를 파생시킨 부모에서 실행하게 되어있고 바뀐건 없습니다. 부모 쓰레드나 이전 콜백을 실행한 쓰레드가 아닌 쓰레드로 실행하고 싶다면 thenRunAsync를 사용해야 합니다.
0