Coroutine

    [ Kotlin ] Coroutines을 확실하게

    코루틴의 포인트는 이전에 자신의 실행이 마지막으로 중단되었던 지점에서 다음의 장소에서 실행을 재개할 수 있다는 것이다. 코루틴은 협력 작업, 예외, 이벤트 루프, 반복자, 무한 리스트, 비동기 처리에 적합하다. 코루틴은 비동기처리를 간단한 코드로 만들어준다. (콜백, 캔슬, 리소스관리 등...) 코루틴은 메인쓰레드가 블라킹되는 부분에 지원을 해준다. 코루틴은 비동기 콜백 처리를 순차적인 코드로 바꿀 수 있다. (콜백지옥으로 되어있는 것을 순차적으로 짤 수 있다.) fun main() { GlobalScope.launch { delay(1000L) println("World") } print("Hello, ") Thread.sleep(2000L) println("Hi, ") } // Hello, (1초뒤)..

    [Android] Coroutine에 관해...

    루틴 컴퓨터 프로그램에서 하나의 정리된 일(작업을 정의한 명령어 집합) 프로그램은 보통 크고 작은 여러가지 루틴을 조합시켜 성립 루틴은 메인루틴과 서브루틴으로 나뉨 메인루틴 프로그램 전체의 개괄적인 동작 절차 표시하도록 만드는 핵심 역할 서브루틴 반복되는 특정 기능을 모아 별도로 묶어 이름을 붙이고 사용하는 하위 루틴 서브루틴은 별도의 메모리에 해당 기능을 모아 놓고 있어, 서브루틴이 호출될 때마다 저장된 메모리로 이동했다가 return 을 통해 원래 호출자의 위치로 돌아옴 함수와 비슷한 개념 서브루틴과 코루틴 코루틴도 루틴의 일종이다. 서부루틴과 코루틴의 차이점 코루틴에선 메인-서브 개념이 없어 모든 루틴들이 서로 호출할 수 있음 메인 루틴에서 특정 서브루틴의 공간으로 이동 후 return에 의해 호출..