잡담

대답하지 못했던 내용들에 관한 정리

E.I.T.U 2023. 8. 18. 12:13

1. Coroutine에서 Hot Stream(Hot Observable) 과 Cold Stream(Cold Observable)

가장 중요한 차이점은 옵저버가 데이터 스트림을 구독할 때

해당 데이터 스트림이 구독으로 인해 변화하느냐 아니냐라는 점이다

Cold Stream의 경우 옵저버가 데이터 스트림을 구독하면 해당 스트림의 데이터가 처음부터 다시 생성되고

Hot Stream의 경우 이미 생성된 데이터 스트림을 옵저버가 구독하여 그 시점부터 데이터를 받아보는것이다.

 

2. StateFlow에서 값을 변경할 때 data.value = somthing 과 date.update(somthing)의 차이

value로 변경하는 경우 "동일한 값을 넣어도 새로운 상태로 지정"

update로 변경하는 경우 "compareAndSet 함수를 사용하기 때문에 값이 다른 경우에만 새로운 상태로 지정"

 

3. Coroutine suspend fun의 작동 원리

https://nuritech.tistory.com/16

 

[Kotlin] Coroutine suspend function 은 대체 뭐야?

목차 suspend 는 무엇인가. 사전을 찾아보면, '중지하다' 라는 뜻의 단어다. 그렇다면, coroutine 에서의 suspend keyword 는 무엇을 의미할까? a function that could be started, paused, and resume. 시작하고, 멈추고,

nuritech.tistory.com

바이트 코드로 변환된 suspend function은 파라미터로써 Continuation을 받는데

이 Continuation을 통해 프로그램의 현재 상태를 저장하여

일시중단 후 재개가 가능하게 되는것

'잡담' 카테고리의 다른 글

자바 기반 교재를 구매했다  (0) 2021.10.22
면접 후기  (0) 2021.07.22
코딩테스트 쉽지않다  (0) 2021.07.20