
동시성 프로그래밍코루틴은 코루틴이 시작된 스레드를 중단하지 않으면서 비동기적으로 실행되는 코드입니다.기존의 복잡한 AsyncTask 또는 다수 스레드 관리를 직접 해주지 않아도 되며, 기존 다중 스레드보다 훨씬 더 효율적으로 동작합니다.코루틴은 스레드 위에서 실행되는데
Dispatcher는 코루틴을 특정 스레드에서 실행할 수 있도록 도와주는 기능이다.코루틴에서는 디스패처를 이용하여 다양하게 스코프를 지정할 수 있습니다.특히 비동기 백그라운드 작업을 수행할 때 가장 많이 쓰이는 것이 IO와 Default Dispatcher이다.대기 시
LiveData : 일반적으로 데이터 전송을 위한 용도로 사용됩니다.Flow : 데이터를 전송하고 비동기 작업을 수행하는 기능이 있습니다.코루틴 이전에 대부분의 개발자는 비동기 처리를 위해 RxJava를 사용했습니다. 이후에 코루틴의 Flow API가 출시되었고, fl
코루틴으로 실행된 작업의 결과를 수신하는 방법은??기존에는 Deferred로 결과값을 감싼 다음 await()를 통해 해당 값이 수신될 때까지 기다려야 한다.withContext를 사용하면 다음과 같은 특징이 있다.withContext 블록의 마지막 줄의 값이 반환 값
}class MyViewModel : ViewModel() {}
viewModelScope.launch{} 대신 live data builder를 사용해보도록 합니다.private fun loadTopTwoDogsAsync() { viewModelScope.launch { logCoroutine("l
Cold stream : collect()를 호출할 때마다 flow block이 재실행된다.Hot stream : collect()를 호출하더라도 flow block이 호출되지 않고 collect() 시점 이후에 emit된 데이터를 전달 받는다.\-> StateFlow
stateIn vs shareIn