Android

개요코틀린 코루틴의 정석 오늘은 CoroutineContext에 대한 내용을 정리해보겠다. 1. CoroutineContext란?코루틴의 실행 환경을 설정하고 관리하는 인터페이스로 여러 개의 요소를 포함하는 키-값(key-value) 쌍의 집합이다. CoroutineContext를 통해 실행 방식, 취소 여부, 예외 처리 등을 조정할 수 있다. 1-1. CoroutineContext의 구성 요소주요한 구성 요소는 네 가지가 있다. 1) CoroutineName-> 코루틴의 이름을 설정한다. 2) CoroutineDispatcher-> 코루틴을 스레드에 할당햏 실행한다. 3) Job-> 코루틴의 추상체로 코루틴을 조작하는 데 사용된다. 4) CoroutineExceptionHandler-> 코루틴에서 발생..
개요코틀린 코루틴의 정석 오늘은 코루틴의 async와 Deferred에 대해 정리해보려고 한다. 1. async와 Deferredasync는 launch와 마찬가지로 새로운 코루틴을 실행하는 빌더 함수이다.다만, 차이점이 있다면 launch에 경우 결괏값을 직접 반환할 수 없고, async는 Deferred 타입의 객체를 반환한다.public fun CoroutineScope.async( context: CoroutineContext = EmptyCoroutineContext, start: CoroutineStart = CoroutineStart.DEFAULT, block: suspend CoroutineScope.() -> T): Deferred 여기서 Deferred는 Job과 같이..
개요코틀린 코루틴의 정석 저번 글에 작성했던, 코루틴 빌더와 Job에 대한 내용에 이어서코루틴 취소 및 Job 객체의 상태에 대해 정리해보겠다. 1. 코루틴 취소코루틴 실행 도중에 취소해야 할 상황이 있을 수 있다. 예를 들면, 화면에 데이터를 불러오는 네트워크 작업 도중에 사용자가 화면을 닫거나 "취소" 버튼을 누를 때, 계속해서 코루틴이 작동된다면 스레드를 지속적으로 사용하기 때문에 애플리케이션 성능 저하를 일으킬 수 있다. 이런 문제를 해결하기 위해 Job 객체는 코루틴을 취소할 수 있도록하는 cancel() 함수를 제공한다. 1-1. cancel()fun main() = runBlocking { val startTime = System.currentTimeMillis() val job ..
개요코틀린 코루틴의 정석 4장 코루틴 빌더와 Job에 대한 내용을 정리했다. 1. 코루틴 빌더 및 Job 설명코루틴 빌더는 코루틴을 생성하는 함수로, runBlocking, launch 등이 있다. 이 코루틴 빌더 함수는 코루틴을 생성하고 코루틴을 추상화한 Job 객체라는 것을 반환한다. 이 Job객체는 코루틴의 상태를 추적하고 제어하는 데 사용된다.fun main() = runBlocking { val job: Job = launch(Dispatchers.IO) { println("${Thread.currentThread().name 적용}") }} 이 Job 객체를 사용해서 코루틴을 제어하고 조작하는 방법에 대해 정리해보겠다! 2. join을 통한 코루틴 순차 처리코루틴..
알파카임
'Android' 카테고리의 글 목록