티스토리 뷰

코틀린 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

https://medium.com/til-kotlin-ko/kotlin%EC%9D%98-coroutine%EC%9D%80-%EC%96%B4%EB%96%BB%EA%B2%8C-%EB%8F%99%EC%9E%91%ED%95%98%EB%8A%94%EA%B0%80-789291da6a50

 

Kotlin의 Coroutine은 어떻게 동작하는가

DroidKnights 2018에서 발표한 ‘Kotlin의 코루틴은 어떻게 동작하는가' 세션의 슬라이드입니다.

medium.com

https://androidnews.tistory.com/230?category=672670

불러오는 중입니다...

[출처] [Kotlin] 코틀린의 코루틴(Coroutine)|작성자 조원호의 행복한 인생

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함