Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 뷰홀더
- 디자인 패턴
- 리사이클러뷰
- Kotlin
- AAC
- 절대 주소
- DiffUtil
- 안드로이드
- AsyncListDiffer
- 플로이드워셜
- Dispatchers
- 상태관리
- flutter
- apk 빌드 과정
- 운영체제
- NestedScrollView
- 프로세스
- viewModelScope
- recyclerview
- 물리 메모리
- 데코레이터 패턴
- 자이고트
- GetX
- appcompatactivity
- 리사이클러뷰풀
- 내부 단편화
- http 역사
- appcompatacitivity
- Android
- http발전과정
Archives
- Today
- Total
hong's android
[안드로이드] Coroutine 이란? 본문
Coroutine
Main-Safe 한 경량 스레드
선점/비선점
- 선점 : task는 스케쥴러에 의해 cpu에 할당된다. 다른 task가 할당됐을 때 스케쥴러에 의해서 cpu 사용권을 뺐을 수 있다.
- 비선점 : 스케쥴러가 cpu사용권을 뺐을 수 없다.
코루틴은 비선점 멀티 태스크이고 태스크 여러 개를 번갈아가면서 실행한다. (동시성 지원)
협력형 멀티태스크
다수의 태스크들이 실행시간을 나눠 갖는다. 태스크들은 서로 실행을 양보할 수 있다.


코루틴
- Task 단위를 스레드 내부 object들로 나눈다.
- 스레드 내부에서 Object를 나눠서 실행하므로 콘텍스트 스위칭 x - 가벼운 비용으로 비동기 실행
- 동시성 제공, 병렬성 x
- 스케쥴러가 아니라 프로그래머에 의해 실행, 중지, 재개 시점이 결정된다.
스레드
- 선점형 방식이므로 스케쥴러에 의해 cpu 사용권을 뺏길 수 있다.
- 스레드는 콘텍스트 스위칭이 발생한다.
- 병렬적으로 스레들이 실행된다.
Reference.
https://velog.io/@dev-junku/Kotlin-Coroutine에-대해
'Android > Coroutine' 카테고리의 다른 글
| [안드로이드] 코루틴 CoroutineScope와 Dispatchers (0) | 2023.03.21 |
|---|---|
| [안드로이드] 코루틴의 Suspend와 CPS (수정중) (0) | 2023.03.07 |