코루틴
-
Kotlin Coroutine과 CompletableFutureJava & Kotlin 2023. 7. 27. 02:42
1) 서론 혹시 비슷한 일들을 두고 다른 점을 찾기 어려웠던 경험이 있으신가요? 무언가 다르다고 주장하며 존재하지만 자신이 볼 때는 똑같다고 생각이 들 수도 있는데요. 저는 유독 안심, 등심 돈가스의 차이점에 대해서 공감하지 못했습니다. 안심 돈까스는 지방이 포함되어 부드럽고, 등심 돈가스는 좀 더 쫄깃한 식감을 느낄 수 있다고 하는데요. 실제로 매장에서도 다르게 판매하고 있지만 개인적으로는 똑같이 돼지고기를 튀긴 돈가스라고 생각했습니다. 우연히 모 돈까스 가게를 방문하고 등심+안심이 함께 나오는 세트를 주문했는데요. 평소의 궁금증을 해소하고자 실험정신을 발휘하여 번갈아가며 먹어봤습니다. 막상 진지하게 번갈아먹어 보니 확실히 안심이 더 부드러웠는데요. 이처럼 겉모습만 보거나, 깊게 알지 못하는 비슷한 일..
-
Kotlin coroutine dispatcher란?Java & Kotlin 2023. 6. 26. 00:28
1) 코루틴과 쓰레드는 달라요 코루틴(CoRoutine)과 쓰레드(Thread)는 매우 비슷해 보이는데요. 코틀린 프로그래밍을 하면서 무언가 동시적인(concurrency) 작업을 처리하기 위해서 자주 사용되기 때문일 것 같습니다. 쓰레드는 프로세스를 이루는 가장 작은 단위의 흐름입니다. 예를 들어 일정 간격으로 자동 저장되는 메모장 프로세스가 실행된다고 가정합니다. 타이핑을 치면서 I/O를 담당하고, 일정 간격을 확인하며 저장하는 쓰레드는 다를 것입니다. 즉 하나의 프로세스에 여러 개의 쓰레드가 동작하고 있다고 생각할 수 있습니다. 코루틴은 일시 정지, 재개할 수 있는 함수입니다. 즉 쓰레드처럼 프로세스를 구성하는 일꾼이 아닌, 하나의 함수일 뿐입니다. 그리고 코루틴은 단순히 하나의 쓰레드에서만 이루어..