코루틴을 사용하다보면, 이 것도 worker 쓰레드에서 동작하는데
그러면 일반적으로 사용하던 쓰레드와 뭐가 다른가? 라고 해서 보면
일반적인 쓰레드에서 작업을 할 때 A,B Task를 동작한다고 생각하면
A Task
B Task
Thread1 A-> -> -> ->->
Thread2 B-> -> -> ->->
이렇게 2개의 쓰레드가 돌아갑니다.
코루틴의 경우
Thread1 A B A B A B
이런 식으로 작업 하나하나에 쓰레드 하나를 할당하는 것이 아닌 object를 할당하고, 자유롭게 스위칭하는 형태로 작업을 진행합니다.
buildSequence
runBlocking
launch
async
등을 이용해서, 태스크의 수행을 기다리거나, 순차진행하거나 하는 것들을 설정할 수 있습니다.
https://velog.io/@haero_kim/Thread-vs-Coroutine-%EB%B9%84%EA%B5%90%ED%95%B4%EB%B3%B4%EA%B8%B0
https://angangmoddi.tistory.com/224
https://aaronryu.github.io/2019/05/27/coroutine-and-thread/
'Android(Kotlin)' 카테고리의 다른 글
Constraint layout linear layout relative layout 퍼포먼스 (0) | 2021.10.15 |
---|---|
setvalue postvalue 차이 (0) | 2021.10.08 |
Android LruCache kotlin (0) | 2021.10.06 |
Simple ViewPager (0) | 2021.10.01 |
Android thread, Handler, Looper (0) | 2021.09.14 |