Android 공부/Coroutine
[XX캠퍼스] 21.Kotlin Coroutines & Flow ( 코루틴의 내부구조)
Machine_웅
2022. 8. 8. 14:06
728x90
반응형
Monad (모나드)
=> flatMap의 파라미터 이름
형태
(값) ->박스 (값)
=> 값을 받아서 박스 값을 리턴한다. ( 값 ->박스 )
* flatMap 자체는 async 할 수도 sync 할 수도 있다. ( RxJava는.. 이상하다.)
Functor
형태
(값) -> (값)
=> 값을 받아서 값을 리턴한다. ( 값 ->값 )
=> 모나드와의 차이
일반적으로 우리가 사용하는 형태는 Functor 이다.
* Functor자체는 async 할 수도 sync 할 수도 있다. (역시 RxJava는.. 이상하다.)
CPS의 단점
- 끝없는 들여쓰기.
- 이해하기 어려움
CPS의 장점
- 모든 제어 흐름을 만들 수 있다.
* 코틀린 컴파일러가 컨티뉴에이션과, 상태머신을 만들어낸다.
728x90
반응형