Android/Coroutine

중간 점검 차 계속 이론, 개념 공부만 하는 것이 아니라 직접 몇가지 실습을 통해 코루틴을 익혀보려고 한다. 유튜브에서 ‘새차원, 코틀린 코루틴’ 강의를 참고해 공부하면 공식문서 실습코드들을 따라 쳐보면서 공부할 수 있다.  그런데 이게 코드 예제들을 마주할 때마다 새롭고 띠용?,,, 하는게 많다. 내가 이해한건 A라 똑같이 적용해서 풀면 틀리고 B라는 개념이 또 등장한다.그래서 예제들을 많이 보면서 더 많이 생각하고 더 많이 배우게 되는 것 같다.  fun main() = runBlocking{ GlobalScope.launch { // 코루틴2 (코루틴1과 다른 생명주기) delay(3000L) println("world!") } println("hello,") // 코루틴1}..
💡 Coroutine Dispatcher처음엔 이 디스패쳐가 그냥 스레드 종류를 정해주는 역할을 한다고만 생각했다.하지만 그 이름의 뜻을 살펴보면 Dispatch = ‘보내다’ 라는 뜻이다. 그래서 생성된 코루틴을 어떤 스레드로 보낼지를 정해주는 것이 바로 Coroutine Dispatcher 이다.디스패처는 자신이 사용할 수 있는 스레드풀에 스레드를 생성해 관리하고, 상황에 맞춰 코루틴을 분배해 스레드에 전달한다. 기본적으로 제공하고 있는 디스패처는 다음과 같다. ✔️ Dispatchers.Mainmian 스레드를 관리하는 디스패처이다 main 스레드는 한 개만 생성된다고 알고있다. 따라서 해당 스레드를 blocking 해서 사용하게 되면 ANR 에러가 발생할 수 있기 때문에 사용시 유의해야한다.co..
💡 코루틴(Coroutine)이란?프로세스 = 실행중인 프로그램, 실행 코드가 메모리에 올라가면 프로세스가 시작된다여러개의 프로그램을 사용중이라면 프로세스도 여러개스레드 = 하나의 프로세스 안에 존재하는 여러개의 실행 단위이다스레드가 꼴랑 하나밖에 없단면 프로그램은 너무 힘들 것이다. 그래서 CPU가 여러개인 것도 이런 부분을 커버해주기 위해서 여러개의 스레드를 만들어 여러 수행을 동시에 진행하는 것을 도와주는 것이다코루틴 = 스레드 안에 존재하는 작업 단위 (스레드의 스레드, 경량 스레드 라고 부르기도 한다) 안드로에드에서 가장 중요한 스레드는 메인 스레드 로 UI 를 그려주고 사용자가 화면과 상호작용할 수 있도록 해주는 스레드이다. 그런데 이 메인 스레드가 너무 바쁘면 메인 스레드가 블로킹 되고 상..
gangmini
'Android/Coroutine' 카테고리의 글 목록