-
Async, Launch, Cancel, Dispatchers, CoroutineScope, GlobalScope
2022.07.28 - Kotlin에 Coroutine사용
async
상태관리와 실행된 함수의 리턴값을 얻을 수 있다.
Deferred<T>로 감싸서 반환된다.
CoroutineScope(Dispatchers.Main).launch { val deferredRet: Defrred<Int> = async { 1 2 // 마지막 줄 값 반환 } val val1 = deferredRet.await() // await는 일시중단가능한 내부에서 사용가능. println(val1) //출력: 2 }
launch
상태관리 가능, 만든 함수의 리턴값을 반환하지 않는다.
반환값 Jobval jobmain = CoroutineScope(Dispatchers.Main).launch { val deferredRet: Defrred<Int> = async(Dispatchers.IO) { 1 2 // 마지막 줄 값 반환 } val textviewjob: = launch { setTextView(deferredRet.await()) } } //jobmain.cancel() //하위 작업까지 모두 취소
val job = GlobalScope.launch(Dispatchers.Main) { delay(1000) }
cancel
작업취소
'Kotlin' 카테고리의 다른 글
Coroutine, Restful Api Ex (HttpUrlConnection사용) (0) 2022.07.28 Kotlin에 Coroutine사용 (0) 2022.07.28 CoroutineContext, Dispatchers (0) 2022.07.28 apply, also (0) 2022.07.28 run (0) 2022.07.28 with (0) 2022.07.28 Kotlin let (0) 2022.07.28 Android KTX (0) 2022.07.28