반응형
Job
: '코루틴의 핸들'로 실행 중인 취소가능한 작업을 표현
- 코루틴을 고유하게 식별하고 수명 주기를 관리한다.
- '코루틴 빌더' 실행 시 생성된다.
=> launch 또는 async로 만드는 각 코루틴은 Job 인스턴스를 반환
- 백그라운드 작업
- Job을 CoroutineScope에 전달하여 코루틴의 수명 주기를 추가로 관리 가능
ex)
class ExampleClass {
...
fun exampleMethod() {
// Handle to the coroutine, you can control its lifecycle
val job = scope.launch {
// New coroutine
}
if (...) {
// Cancel the coroutine started above, this doesn't affect the scope
// this coroutine was launched in
job.cancel()
}
}
}
[참조]
- https://kotlinlang.org/docs/coroutines-basics.html#your-first-coroutine
- https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-job/
- https://medium.com/androiddevelopers/coroutines-first-things-first-e6187bf3bb21
반응형