본문 바로가기
Kotlin Language/Kotlin Coroutine

안드로이드 코틀린의 코루틴 ( Kotlin Coroutine ) ? #1

by Classic Master 2023. 12. 22.
728x90

코루틴? (Coroutine)

동시성 프로그래밍 개념을 코틀린에 도입한 것이 코루틴입니다.

사용되어지고 있는 쓰레드를 중단하지 않으면서 비동기적으로 실행되게하는 코드입니다.

복잡한 AsyncTask 또는 다수 불필요한 쓰레드 관리를 직접 해주지 않아도 되며, 더 효율적으로 동작합니다.

 

코루틴의 기능

  • 코루틴을 실행 중인 스레드를 차단하지 않는 정지를 지원하므로 단일 스레드에서 많은 코루틴을 실행할 수 있습니다. 정지는 많은 동시 작업을 지원하면서도 차단보다 메모리를 절약합니다.
  • 구조화된 동시 실행을 사용하여 범위 내에서 작업을 실행합니다.
  • 실행 중인 코루틴 계층 구조를 통해 자동으로 취소가 전달됩니다.
  • 많은 Jetpack 라이브러리에 코루틴을 완전히 지원하는 확장 프로그램이 포함되어 있습니다. 일부 라이브러리는 구조화된 동시 실행에 사용할 수 있는 자체 코루틴 범위도 제공합니다.

코루틴 사용하기

  • Android 프로젝트에서 코루틴을 사용하려면 앱의 build.gradle 파일에 다음 아래 항목을 추가합니다.
dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9")
}

 

코루틴 스코프

  • 스코프 내에서 실행되어야 하며, 이를 통하여 액티비티 또는 프래그먼트의 생명주기에 따라 소멸 될 때 관련 코루틴을 한번에 취소 할 수 있습니다.
  • 모든 코루틴은 항상 자신이 속한 스코프를 참조해야하며, 이후에 cancel로 모두 취소도 가능합니다.
  • 코루틴 스코프는 글로벌 스코프(GlobalScope)와 코루틴 스코프(CoroutineScope)가 있습니다.

글로벌 스코프

코루틴 스코프

 

728x90
반응형