Job Lifecycle Job의 상태는 기본적으로 New, Active, Completing, Cancelling, Cancelled, Completed 총 6개의 상태를 가집니다. State isActive isCompleted isCancelled New false false false Active true false flase Completing true false false Cancelling false false true Cancelled false true true Completed false true false New : Coroutine을 생성할 때 start를 Lazy로 설정한 경우 New로 시작합니다. start(), join() 등의 함수로 시작할 수 있습니다. Active : 기본..
cancen() & cancelAndJoin() Coroutine에서 취소가 어떻게 진행되는지 확인해봅니다. // cancel과 cancelAndJoin의 차이 public suspend fun Job.cancelAndJoin() { cancel() return join() } cancel()을 실행했을 때 취소되지 않고 Coroutine이 계속 실행됩니다. 즉 Coroutine 내부에서 진행될 때 취소를 확인하여 종료할 수 있도록 설계 해야합니다. (개발자가 직접 취소 지점을 정할 수 있습니다.) val job = CoroutineScope(Dispatchers.IO).launch { for (i in 0 until 5) { Log.d("PASS", "Running") Thread.sleep(1000L..
- Total
- Today
- Yesterday
- 함수
- TDD
- clean code
- 연산자
- 클린 코드
- commit
- gradle
- isActive
- Kotlin
- Widget
- Android
- 코루틴
- ViewModelProvider
- Exception
- ViewModelStoreOwner
- DART
- 보이스카우트 규칙
- CancellationException
- Flutter
- 클린코드
- rxjava
- git
- viewmodel
- null
- ConcatAdapter
- ConcatAdapter.Config
- DSL
- Coroutine
- Flowable
- observable
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |