Coroutines & Flow
-
코루틴을 이해해보자! (기초 3편)Coroutines & Flow 2025. 7. 13. 22:37
안녕하세요~ 글의 도입부에는 내용의 딱딱함을 줄이고자(?) 다른 이야기로 시작하려고 해요. 저는 재수를 하고 정시로 대학에 왔어요. 1지망엔 통계학과, 2지망엔 생명공학과, 3지망에 정보융합학부(AI 관련 소프트 학부)를 넣었는데요. 1지망에서 예비 2번으로 떨어지고 2지망, 3지망 학교를 붙었는데 고등학교때 생명과학을 좋아했었지만, 뭔가 아예 새로운걸 배우고 싶은 마음도 있었어요. "컴퓨터? IT? 와 멋있고 신기하다!" 라는 단순한 호기심에 고민하다가 결국 3지망 대학에 최종 원서를 지원했었어요. 근데 4학년 중반쯤 돼서 돌아보니 "만약에 연극영화과에 갔으면 내 일상이 어떻게 달라졌을까?" 라는 생각이 문득 들어요. 아무래도 사람의 감정을 분석하고 표현하는 것 자체가 공부다보니 궁금하더라구요. 연극 ..
-
코루틴을 이해해보자! (기초 2편)Coroutines & Flow 2025. 7. 6. 20:10
안녕하세요~! 오늘은 저번 1탄에 이어 2탄으로 코루틴에 대해서 더욱 자세히 알아보고자 합니다~!1. Thread.sleep import kotlinx.coroutines.*fun main() = runBlocking { launch { println("launch: ${Thread.currentThread().name}") // (3) launch: main@coroutine#2 println("launch") // (4) } println("runBlocking: ${Thread.currentThread().name}") // (1) runBlocking: main@coroutine#1 Thread.sleep(500) // 500ms = 0.5s p..
-
코루틴을 이해해보자! (기초 1편)Coroutines & Flow 2025. 6. 29. 21:32
안녕하세요 6월 마지막 주말이네요. 벌써 7월이 다가오고 날씨도 요즘 많이 후덥지근해요. 저는 아이스크림을 좋아해서 요즘 거의 맨날 1일 1아이스크림 하고 있어요🍦오늘은 코루틴에 대해서 알아보겠습니다! 코루틴을 배워야 하는 이유?혹시 앱을 사용하다가 화면이 그대로 멈추고 어떠한 클릭에도 반응하지 않아서 짜증났던 경험이 있으셨나요?이 현상은 메인 스레드라고 불리는 UI 스레드가 다른 요인에 의해 멈추어서 나타나는 것인데요. 네트워크 요청과 같은 비교적 무거운 작업을 메인 스레드에 하게 되면 앱이 멈추는 경우가 발생할 수 있습니다. 이를 해결하기 위해서는 무거운 작업을 UI 스레드가 아닌 백그라운드에서 처리해야 하는데, 이때 필요한 개념이 바로 코루틴(Coroutine) 입니다. 따라서 안드로이드 앱이 끊..