개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다.
코루틴에 대해서 한번 알아보겠습니다.
코루틴을 처음 봤을 때가 생각이 나는데, 처음 보는 느낌은 그냥 쓰레드인데? 백그라운드 작업 할 때 쓰라는건가? 라는 생각이었습니다.
찾아보면 light-weight Thread고 쓰레드보다 자원을 아껴쓴다 뭐 이렇게 나와있습니다.
아니 뭐 자원을 아껴쓰고 어쩌고 하면 좋은 건데... 라고 하는건데 쓰면 좋다는건 알겠는데 뭔가 와닿지가 않고 여기까지 오면
성능 그거 조금 좋아져봤자 뭐 크게 달라지는거 있나? 라는 생각이 들 수 있습니다.
자, 그렇다면 좀 더 와닿는 예제를 한번 해볼까요?
기존의 쓰레드를 이용한 예제를 한번 해보겠습니다.
이렇게 하면 당연히
p1 -> p2 -> p3 -> p4 이런 순서로 되야할 것 같지만 비동기로 실행되면 아래와 같이 됩니다.
그러면 코루틴을 이용하면 어떻게 바꿀 수 있는가? 에 대해서 보면 아래와 같이 보면 순차적으로 나옵니다.
위와 같이 사용할 수 있습니다.
자 그렇다면 순차적으로 나오면 뭐가 좋은데? 라고 하면
callback hell 문제를 해결할 수 있습니다.
user정보를 받아와서 user에 이름으로 api call을 하는 문제라면 이 부분을 쉽게 해결할 수 있습니다.
- 참조
https://dduddublog.tistory.com/194
'Android Jetpack' 카테고리의 다른 글
Coroutine - 3 (Room + Coroutine) (1) | 2022.02.27 |
---|---|
Coroutine - 2 (Dispatchers) (0) | 2022.02.22 |
Jetpack Navigation - 6 (Animation) (0) | 2022.02.19 |
Jetpack Navigation - 5 (Safe Args) (0) | 2022.02.19 |
Jetpack Navigation - 4 (Data Transfer) (0) | 2022.02.19 |