- 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 |
- Kotlin
- CustomTab
- 진짜학습지
- suspend
- errorhandling
- 학습지
- coroutine
- 책리뷰
- 책추천
- GIT
- github
- n3문법
- webflux
- 진짜일본어
- jlpt
- rxjava
- Android
- 일본어기초
- posting
- pullrequest
- 코틀린
- blog
- ai
- KotlinInAction
- 일본어문법
- 인공지능
- 진짜학습지후기
- PR
- 안드로이드
- androidstudio
목록suspend (3)
코딩하는 개굴이
해당 내용은 “코틀린 코루틴” 서적을 기반으로 작성되었습니다. Coroutine 의 중단은 어떻게 작동할까? 코루틴의 중심이 되는 기능이자 스레드 등과의 큰 차이점 중 하나가 잠시 멈추는, 중단에 있다는 것을 들어보았을 것이다. 마치 비디오 게임을 하다가 체크포인트나, 세이브를 하는 것처럼 중단 후 돌아올 수 있는 것이다. 이 부분에서 코루틴은 스레드와 크게 차이점을 가진다. 스레드는 저장이 불가하고 멈추는 것만 가능하나, 코루틴은 중단 시에 어떤 자원도 사용하지 않으면서 돌아올 때 다른 스레드에서 실행하는 것도, 중단되었을 때 반환하는 Continuation 객체의 직렬화/역직렬화까지 가능하기 때문이다. 그렇다면 도대체 어떤 점에서 다른지, 어떻게 중단과 재개는 동작하는지 한번 알아보도록 하자. 재개 ..
해당 포스팅은 Fastcampus 의 실무 프로젝트로 배우는 Kotlin & Spring: 리팩토링부터 서비스 구현까지 강의를 기반으로 작성되었습니다. Coroutine 의 기초 동작을 파악해볼 수 있도록 runBlocking, launch, async, suspend, flow 등을 사용해 코드를 작성해 보았다. 실행해보며, 감을 잡아보도록 하자 :) import kotlinx.coroutines.* import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.flow import kotlin.system.measureTimeMillis fun main() { // #####..
Dispatchers.Main 을 이용해 로직을 짜는데, 뭔가 이상하게 순서가 꼬였다 싶은 순간이 있을 수 있다. 보통의 개발자는 위에서부터 아래로 코드의 실행 순서를 가정하고 개발을 하곤하기에 Dispatchers.Main 의 정확한 이해는 중요하다. 따라서, 순서가 보장되게 이를 사용하려면 어찌 해야하는지 한번 알아보도록 하자. 그러기 위해서 Dispatcher이 무엇인지 코루틴의 동작은 어찌되는지 먼저 확인해보자. Dispatcher 란? 코루틴의 어떤 스레드에서 돌아갈지 정의하는 역할로써, Event Loop 를 통해 작동된다. Event Loop는 Call Stack 과 Callback Queue 의 상태를 반복적으로 체크하고, 함수를 실행할 시간이 되면 큐의 첫번째 아이템을 Call Stack..