코루틴을 사용하다보면, 이 것도 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
🤔 Thread vs Coroutine 전격 비교
비슷해보이는 두 녀석의 차이점을 파헤쳐보자!
velog.io
https://angangmoddi.tistory.com/224
스레드(Thread)와 코루틴(Coroutine)의 차이
이 글에서는 스레드와 코루틴의 차이점 대해 간단하게 알아보도록 하자. 먼저, 둘의 차이점을 말하기 전에 둘의 공통점은 프로그램을 만드는 과정에서 '비동기' 작업을 하기 위해서 사용한다는
angangmoddi.tistory.com
https://aaronryu.github.io/2019/05/27/coroutine-and-thread/
Coroutine, Thread 와의 차이와 그 특징
처음 Kotlin 를 사용하던 중에 비동기 처리를 위해 Coroutine 개념을 마주했었습니다. 동기란 요청을 보낸 후 요청에 대한 반환값을 얻기 이전까지 대기하는걸 의미하고, 비동기는 그 대기시간동안
aaronryu.github.io
'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 |