728x90

코루틴? (Coroutine)
동시성 프로그래밍 개념을 코틀린에 도입한 것이 코루틴입니다.
사용되어지고 있는 쓰레드를 중단하지 않으면서 비동기적으로 실행되게하는 코드입니다.
복잡한 AsyncTask 또는 다수 불필요한 쓰레드 관리를 직접 해주지 않아도 되며, 더 효율적으로 동작합니다.
코루틴의 기능
- 코루틴을 실행 중인 스레드를 차단하지 않는 정지를 지원하므로 단일 스레드에서 많은 코루틴을 실행할 수 있습니다. 정지는 많은 동시 작업을 지원하면서도 차단보다 메모리를 절약합니다.
- 구조화된 동시 실행을 사용하여 범위 내에서 작업을 실행합니다.
- 실행 중인 코루틴 계층 구조를 통해 자동으로 취소가 전달됩니다.
- 많은 Jetpack 라이브러리에 코루틴을 완전히 지원하는 확장 프로그램이 포함되어 있습니다. 일부 라이브러리는 구조화된 동시 실행에 사용할 수 있는 자체 코루틴 범위도 제공합니다.
코루틴 사용하기
- Android 프로젝트에서 코루틴을 사용하려면 앱의 build.gradle 파일에 다음 아래 항목을 추가합니다.
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9")
}
코루틴 스코프
- 스코프 내에서 실행되어야 하며, 이를 통하여 액티비티 또는 프래그먼트의 생명주기에 따라 소멸 될 때 관련 코루틴을 한번에 취소 할 수 있습니다.
- 모든 코루틴은 항상 자신이 속한 스코프를 참조해야하며, 이후에 cancel로 모두 취소도 가능합니다.
- 코루틴 스코프는 글로벌 스코프(GlobalScope)와 코루틴 스코프(CoroutineScope)가 있습니다.
글로벌 스코프
코루틴 스코프
728x90
반응형