Sinks 와 thread-safe
234
작성한 질문수 1
안녕하세요.
강의 중 Sinks가 thread-safe 하다는 이야기가 잘 이해가 안 가서 질문 드립니다.
혹시 예시를 들어 설명해주실 수 있나요?
구글링 해봐도 어떤 원리로 therad-safe 한지 이해가 안 가서요.
답변 1
0
안녕하세요?
Sinks의 tread-safe 하다는 부분에 대해서 질문을 주셨네요.
먼저 아래 코드는 공식 문서에 나오는 Sinks 내용 중 일부인데요.
쓰레드가 동시 접근하는 상황이 발생했을 때 쓰레드 중에서 동시 접근하는 쓰레드 중 하나를 빠르게 실패하게 함으로써 쓰레드 안전성을 보장한다라고 나와있습니다.
그리고 아래는 Sinks 내부 코드 중 일부인데요.
- 먼저 (1)에서 쓰레드 관련된 문제 등을 포함해서 데이터를 emit할 때 발생할 수 있는 문제에 대해서 체크한 후, 데이터를 emit합니다. 만약에 어떤 문제가 감지되면,
- (2)에서 EmitFailureHandler가 빠르게 emit을 실패시킵니다. 디폴트는 즉시 실패를 시키지만 EmiFaiureHandler 함수형 인터페이스를 구현할 때 더 시도할지 말지 여부를 지정할 수 있습니다.
- 그리고 (3)에서 emit이 실패한 부분에 대해서 후처리를 하고 있습니다.
질문에 대한 답변이 되셨길 바랄게요.
subscription signal 에 upstream 으로 이동하는 순서
0
90
2
Webflux의 Non-Blocking 특성에 대해 문의 드립니다.
1
213
3
Downstream Mono, Flux가 subscriber인가요?
0
160
1
source.next와 source.emit의 차이에 대한 질문입니다.
0
214
2
StepVerifier를 이용한 Testing (1) - expectNoEvent 에 관해서
2
233
1
backpressure latest 전략
0
243
2
StepVerifier를 이용한 Testing (1) 의 StepVerifiter 질문
0
231
1
[Scheduler의 종류 강의] Schedulers.newParallel 메서드에 관한 질문
0
209
2
Backpressure Drop 전략에서 다시 버퍼가 채워지는 시점에 대한 질문입니다.
0
167
2
Reactor 3부의 오픈 일정에 관해서 문의드립니다!
0
173
1
inner sequence context 관련 질문
0
139
1
boundedElastic 관련 질문
1
323
1
강의자료 관련 질문드립니다.
0
250
3
newBoundedElastic 에서 queue 에 쌓이는 룰
0
215
2
import com.itvillage.utils.Logger;
0
149
1
Interceptor에서 reactor Context 유지하는 방법
0
283
2
예시코드는 webflux의 이점보단 webclient의 이점 아닌가요?
3
361
1
advancedTimeBy와 thenAwait 사용 예시가 궁금합니다
0
205
1
context의 read, write의 실행 순서
0
263
2
DROP 전략과 LATEST 전략의 차이점이 무엇인가요?
3
637
3
백프레셔 전략 관련해서
1
309
1
Backpressure Example 코드 질문드립니다
0
259
2
Backpressure 전략
0
308
2
Flux 와 Mono
0
465
1





