inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]

비동기 작업 조합 - allOf() & anyOf()

비동기 작업 조합 - anyOf() 질문

248

LetsGoHigh

작성한 질문수 25

0

안녕하세요. 비동기 작업 조합 강의 38분 30초대를 듣다가 질문이 생겼습니다.

 

인텔리제이 콘솔에 '최종 결과: 10'으로 출력되고 있는데요.

궁금한 점은 아래와 같습니다.

  1. 비동기 처리 과정이 제일 적은 cf1의 리턴 값은 10이다

  2. AnyOfExample.java 19 Line에서는 result * 10으로 계산이 되고 있다.

따라서 100이 나올 것으로 예상을 했는데 10으로 출력되는 것으로 보아 2번 계산 과정을 스레드가 실행하지 않은 건가 싶어서요.

혹시 제가 놓치고 있는 부분이 있나 해서 질문드립니다.

java 동시성 multithread synchronisation

답변 2

0

정수원

보시면 finalCf.join() 으로 최종결과를 출력하고 있는데 가장 빨리 완료한 0.5 초 작업의 결과인 10 이 출력되고 있습니다.

result * 10 을 계산 된 결과는 finalCf 가 아닌 finalCf.thenApply() 를 통해 실행된 결과인데 그 부분은 출력하지 않고 있습니다.

finalCf2 = finalCf.thenApply()

System.out.println(finalCf2.join())

이렇게 하면 100 의 결과를 얻을 수 있습니다.

0

인프런 AI 인턴

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

질문하신 내용과 관련하여 강사님이 답변하신 유사한 내용이 있어 링크를 공유드립니다. 강의를 듣는 중 궁금한 부분이 있으시다면 해당 질문의 답변을 참고하시면 도움이 되실 것 같습니다.

위 링크를 클릭하시면 강사님의 답변을 확인하실 수 있습니다. 추가로 궁금한 점이 있다면, 같은 페이지 내에서 추가 질문을 올리실 수도 있습니다.

멀티스레드 단일스레드

0

57

0

new Condition 부분 질문

0

85

1

13:00 강의 내용 이해 질문

0

99

1

강의 출시 질문 있습니다.

0

117

1

InterruptedExceptionThreadStopExample 질문입니다.

0

94

2

instance.getMyField()의 값이 왜 다른가요?

0

116

1

해당 강의 내용 무단 도용 신고

0

211

2

Thread Waiting 상태 관련 질문 드립니다.

0

186

1

단일연산변수 api

0

126

0

synchronized 블럭과 메인메모리 반영

0

148

0

실무에서 자바가 제공하는 락을 사용하는 경우

1

244

1

뮤텍스나 세마포어는 busy waiting이 없는 게 맞을까요?

0

160

1

16:50부분에서 타입락 질문드립니다.

0

110

2

16분 7초 뮤텍스 코드 관련해 질문드립니다.

0

160

2

동기화가 보장된다고 하더라도 스레드간 데이터 불일치가 발생할 수 있지 않나요??

0

202

2

리액티브-part2

0

180

2

문자열 풀 값을 이용한 String 변수

0

207

2

스레드 라이브러리는 커널과 같은 역할을 하지 못하나요?

0

173

1

자식 프로세스를 쓰는 이유

0

188

1

커널 모드 전환시 질문이 있습니다!

0

146

1

[공유] setName 시 threadName이 1부터 시작하는 이유

0

180

1

synchronized = 모니터

0

288

2

Thread의 Context Switching 문의드립니다.

1

260

1

동기 & 논블록킹 질문 드립니다.

0

234

2