티스토리 뷰
코틀린 1.1에 추가된 코루틴(Coroutine)은 서로에게 제어를 넘겨주면서 협력하는 방식으로 작업을 처리하는 기법이다
이를 사용하면 async/await 패턴을 통해 비동기 연산을 기술할 때 복잡한 콜백 구조를 활용하지 않고 일반 함수처럼 비동기 호출을 활용할 수 있는 로직을 작성할 수 있다
비동기 처리를 수행하는 로직은 async로 표시해야 다른 곳에서 await로 이 로직의 결과를 기다릴 수 있다
// 비동기 작업 시작
val number1 = async(CommonPool) { delay(1000); 1 } // 1초 걸리고 결과가 1인 작업
val number2 = async(CommonPool) { delay(2000); 2 } // 2초 걸리고 결과가 2인 작업
// 기다리면서 메서드 블록시키기
runBlocking {
println("1+2 = ${number.await() + number2.await()}")
}
현재는 실험적인 기능이며, 기본 구현은 kotlin.coroutines.experimental 패키지에 있고 async 등 다른 기능들은kotlinx.coroutines.experimental에 있다
https://github.com/Kotlin/kotlin-coroutines-examples/blob/master/kotlin-coroutines-informal.md
https://github.com/Kotlin/kotlinx.coroutines
https://androidnews.tistory.com/230?category=672670
[출처] [Kotlin] 코틀린의 코루틴(Coroutine)|작성자 조원호의 행복한 인생
'코틀린' 카테고리의 다른 글
[코틀린] 코틀린의 리플렉션(Reflection) (0) | 2019.05.17 |
---|---|
[코틀린] 코틀린의 제네릭(Generics) (0) | 2019.05.17 |
[코틀린] 카카오톡의 서버 사이드 코틀린, if kakao 개발자 컨퍼런스 (0) | 2019.05.17 |
- Total
- Today
- Yesterday
- ScrollView in ScrollView
- Unity
- 대학교
- 알고리즘
- Android
- ScrollView
- 백준
- 구글IO
- 백그라운드
- 코틀린
- KAKAO
- 안드로이드Q
- 카카오톡
- NestedScrollView
- 카톡
- 안드로이드
- 신규기능
- 자바
- 액티비티
- 중첩
- Kotlin
- Material
- 유니티
- 앱
- 개발
- 과제
- Java
- kakaotalk
- google I/O
- 안드로이드 9.0
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |