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
- 물리 메모리
- NestedScrollView
- 데코레이터 패턴
- GetX
- http발전과정
- appcompatacitivity
- AAC
- 프로세스
- 리사이클러뷰풀
- Android
- AsyncListDiffer
- 안드로이드
- 상태관리
- 리사이클러뷰
- 절대 주소
- 플로이드워셜
- recyclerview
- DiffUtil
- Dispatchers
- http 역사
- flutter
- Kotlin
- apk 빌드 과정
- 자이고트
- 내부 단편화
- 뷰홀더
- viewModelScope
- appcompatactivity
- 운영체제
- 디자인 패턴
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 |