티스토리 뷰
코틀린 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
Kotlin/kotlin-coroutines-examples
Examples for coroutines design in Kotlin. Contribute to Kotlin/kotlin-coroutines-examples development by creating an account on GitHub.
github.com
https://github.com/Kotlin/kotlinx.coroutines
Kotlin/kotlinx.coroutines
Library support for Kotlin coroutines . Contribute to Kotlin/kotlinx.coroutines development by creating an account on GitHub.
github.com
Kotlin의 Coroutine은 어떻게 동작하는가
DroidKnights 2018에서 발표한 ‘Kotlin의 코루틴은 어떻게 동작하는가' 세션의 슬라이드입니다.
medium.com
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
- 카카오톡
- google I/O
- 구글IO
- 카톡
- 앱
- 개발
- 대학교
- 자바
- 유니티
- 과제
- Java
- 백그라운드
- NestedScrollView
- 코틀린
- 액티비티
- KAKAO
- Unity
- kakaotalk
- ScrollView
- 알고리즘
- Android
- 신규기능
- 안드로이드 9.0
- 안드로이드Q
- Kotlin
- 안드로이드
- 백준
- ScrollView in ScrollView
- Material
- 중첩
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |