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
반응형