Coroutines
Coroutines 취소 1편 - Coroutine 실행 취소하기, Coroutines 취소는 협력적이다, Coroutine의 Computation 코드를 취소 가능하게 만들기
이 섹션은 코루틴 Cancellation과 Timeout에 대해 다룹니다. Coroutine 실행 취소하기 긴 시간동안 실행되는 어플리케이션에서 백그라운드에서 실행되는 Coroutine에 대한 세밀한 제어가 필요할 수 있다. 예를 들어, 유저가 Coroutine을 실행시킨 페이지를 닫아 결과가 더 이상 필요하지 않아 작업이 취소되어도 되는 경우이다. launch 함수는 실행중인 코루틴을 취소하는 데 사용할 수 있는 Job 객체를 반환한다. import kotlinx.coroutines.* fun main() = runBlocking { val job = launch { repeat(1000) { i -> println("job: I'm sleeping $i ...") delay(500L) } } dela..
Kotlin Coroutines 공식 문서 한국어 번역본
아래 링크에서 역주가 없는 버전을 확인하실 수 있습니다. Published on Web: https://seyoungcho2.github.io/CoroutinesKoreanTranslation/ Kotlin Coroutines 공식 문서 번역을 시작하며 Kotlin Coroutines는 Kotlin을 위한 강력한 비동기 솔루션이다. 안드로이드 실무에서는 한동안 높은 점유율을 자랑한 RxJava를 Coroutines가 대체하고 있으며, 새로 시작하는 프로젝트들은 모두 Coroutines를 사용하고 있다. 그 이유는 Coroutines의 성능과 간결성, 가독성에 있다. Coroutines는 기존 스레드 모델들과 다른 경량 스레드(Light Weight Thread)라는 개념을 도입 하여 불필요한 Thread..
[안드로이드를 위한 Coroutines] 책 소개
들어가며 Kotlin Coroutines는 Kotlin을 위한 강력한 비동기 솔루션이다. 안드로이드 실무에서 한동안 높은 점유율을 자랑한 RxJava가 Coroutines로 대체 되었고, 새로 시작하는 안드로이드 프로젝트들은 대부분 Coroutines를 사용하고 있다. 안드로이드의 공식언어가 Kotlin인데, Kotlin의 비동기 솔루션으로 Coroutines가 채택되었으므로 이후의 동시성 프로그래밍은 Coroutines를 기반으로 만들어질 것임을 알 수 있다. Coroutines의 강점 Coroutines가 Kotlin의 주요한 비동기 솔루션이 될 수 있던 이유는 Coroutines의 성능, 안정성 때문이다. Coroutines는 기존 비동기 라이브러리들이 채택한 스레드와 스레드풀 기반 비동기 프로그래..
[안드로이드를 위한 Coroutines] 안드로이드의 멀티스레드 프로그래밍 : 기존의 Thread 기반 멀티스레드 프로그래밍 방식과 한계점
안드로이드와 멀티스레드 프로그래밍 안드로이드는 메인 스레드라 불리는 UI 스레드에서 모든 UI 관련 작업들을 처리한다. 만약 메인 스레드가 서버와의 네트워크 통신이나 데이터베이스 읽기/쓰기 작업들에 의해 길게 점유된다면 안드로이드 앱은 버벅이거나 멈추게 된다. 안드로이드를 개발하는 사람이라면 누구나 겪어보는 오류인 ANR(Application Not Responding)은 앱이 입력된 이벤트에 5초 이내에 응답하지 않는 경우에 일어나는데, 이 또한 메인 스레드를 길게 점유하는 작업이 원인이다. 이를 해결하기 위해 개발자들은 메인스레드 외에 새로운 스레드를 만들어 해당 스레드에서 길게 걸리는 작업을 처리한다. 이를 여러개의 스레드를 사용한다 해서 멀티스레드 프로그래밍이라 한다. 멀티 스레드 프로그래밍을 사..