Android 공부/Coroutine
Coroutine
posite
2026. 2. 20. 14:01
Coroutine
- 비선점형 멀티태스킹을 수행하는 일반화한 서브루틴
- 비동기 처리를 위한 라이브러리로 light weight thread 라고도 함
- 실행중인 스레드에서 여러 작업 가능
- suspend로 현재 진행중이던 작업이 다른 작업을 기다릴 뿐 thread가 blocking 되지 않고 또 다른 작업 가능
Flow
- Coroutine의 데이터 스트림
- suspend 함수를 사용하여 값을 비동기적으로 생성하고 사용
- Cold Stream이다
- 서버요청, DB에 주로 사용
- stateIn(), shareIn() 함수를 이용하여 Hot Stream인 StateFlow, SharedFlow로 전환할 수 있음