Android(Kotlin)

코루틴과 쓰레드의 차이

----___<<<<< 2021. 10. 7. 22:59

 

 

 코루틴을 사용하다보면, 이 것도 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