- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 진짜학습지후기
- GIT
- 학습지
- jlpt
- github
- 인공지능
- suspend
- 진짜일본어
- CustomTab
- blog
- 일본어기초
- pullrequest
- Android
- 진짜학습지
- coroutine
- KotlinInAction
- 일본어문법
- androidstudio
- posting
- 책리뷰
- 안드로이드
- PR
- ai
- errorhandling
- rxjava
- webflux
- 코틀린
- n3문법
- Kotlin
- 책추천
목록안드로이드/Coroutine (2)
코딩하는 개굴이
Dispatchers.Main 을 이용해 로직을 짜는데, 뭔가 이상하게 순서가 꼬였다 싶은 순간이 있을 수 있다. 보통의 개발자는 위에서부터 아래로 코드의 실행 순서를 가정하고 개발을 하곤하기에 Dispatchers.Main 의 정확한 이해는 중요하다. 따라서, 순서가 보장되게 이를 사용하려면 어찌 해야하는지 한번 알아보도록 하자. 그러기 위해서 Dispatcher이 무엇인지 코루틴의 동작은 어찌되는지 먼저 확인해보자. Dispatcher 란? 코루틴의 어떤 스레드에서 돌아갈지 정의하는 역할로써, Event Loop 를 통해 작동된다. Event Loop는 Call Stack 과 Callback Queue 의 상태를 반복적으로 체크하고, 함수를 실행할 시간이 되면 큐의 첫번째 아이템을 Call Stack..
시작하기 전에, 해당 글에서는 본인이 헷갈리는 부분이 다소 많았기 때문에 부가 설명을 많이 추가했음을 먼저 알리고싶다. 코루틴은 무엇일까? 코루틴은 시작된 스레드를 중단하지 않으면서 비동기적으로 실행되는 코드로, AsyncTask처럼 스레드의 직접 관리가 필요하지 않고, 기존의 다중 스레드보다 효율적으로 동작하는 장점이 있다. # 코루틴은 Thread를 중단하지 않는다? 스레드를 중단하지 않는다는 것이 어떤 의미일까? 우선, 코루틴1을 실행 중인 상태에서 코루틴2가 실행 될 때를 가정해보자. 이때, 실행 중인 Thread를 중지시키면서 Context Switching을 수행하는 것이 아닌 잠시 코루틴1을 멈춰두었다가 다시 실행할 때 이전 상태를 불러와 다시 스레드에서 이를 수행한다. 따라서, 코루틴은 T..