코루틴
-
최근 비동기 프로그래밍인 코루틴에 대해 공부하고있다. 내가 아는 비동기 프로그래밍들에 대해 들어본 것들은 RxJava, Asyncfunction(현재 deprecated됨), Coroutine 정도였다. 몇 일동안 코루틴의 개념에 대해 공부하였고, 사용방법, 코루틴의 다양한 활용 예시들을 보면서 작동되는 과정들을 이해하였다. 아직 다양한 방법으로 활용하는 것은 무리가 있어 최근 진행하였던 프로젝트를 코루틴을 사용하여 '리팩토링' 해보았다. 기존 코드에선 Retrofit을 이용하여 서버와 통신할 때 enqueue를 사용하여 비동기 처리를 해주었다. 하지만 Coroutine을 사용하면 enqueue를 사용하지않고 Retrofit 통신이 가능하였다. Retrofit + enqueue interface GetP..
[TIL] Retrofit + Coroutine 사용하기 (feat. enqueue 비동기)최근 비동기 프로그래밍인 코루틴에 대해 공부하고있다. 내가 아는 비동기 프로그래밍들에 대해 들어본 것들은 RxJava, Asyncfunction(현재 deprecated됨), Coroutine 정도였다. 몇 일동안 코루틴의 개념에 대해 공부하였고, 사용방법, 코루틴의 다양한 활용 예시들을 보면서 작동되는 과정들을 이해하였다. 아직 다양한 방법으로 활용하는 것은 무리가 있어 최근 진행하였던 프로젝트를 코루틴을 사용하여 '리팩토링' 해보았다. 기존 코드에선 Retrofit을 이용하여 서버와 통신할 때 enqueue를 사용하여 비동기 처리를 해주었다. 하지만 Coroutine을 사용하면 enqueue를 사용하지않고 Retrofit 통신이 가능하였다. Retrofit + enqueue interface GetP..
2023.07.05 -
프로젝트를 진행하다보면 비동기 처리를 위해 사용되는 라이브러리들이 많은데 비동기처리의 주 "코루틴" 에 대해서 공부하다보니, thread? coroutine? 비슷한 작동방식이 아닌가라는 생각이 들었다. 그래서 쓰레드와 코루틴이 정확히 무엇인지 비교를 해보려고 한다. 먼저 Thread와 Coroutine은 모두 동시성 프로그래밍을 위한 기술이다. 동시성과 병렬성(Concurrency & Parallelism) 동시성 (Concurrency) 말 그대로 동시에 여러 작업을 수행하는 것 Task1과 Task2를 시분할(Interleaving) 기법을 활용하여 동시에 실행되는 것처럼 번갈아가며 수행한다. 수행시간은 Task1이 걸리는 시간 10분 + Task2가 걸리는 시간 10분 = 총 20분이 소요된다. ..
[Android] Thread와 Coroutine의 차이프로젝트를 진행하다보면 비동기 처리를 위해 사용되는 라이브러리들이 많은데 비동기처리의 주 "코루틴" 에 대해서 공부하다보니, thread? coroutine? 비슷한 작동방식이 아닌가라는 생각이 들었다. 그래서 쓰레드와 코루틴이 정확히 무엇인지 비교를 해보려고 한다. 먼저 Thread와 Coroutine은 모두 동시성 프로그래밍을 위한 기술이다. 동시성과 병렬성(Concurrency & Parallelism) 동시성 (Concurrency) 말 그대로 동시에 여러 작업을 수행하는 것 Task1과 Task2를 시분할(Interleaving) 기법을 활용하여 동시에 실행되는 것처럼 번갈아가며 수행한다. 수행시간은 Task1이 걸리는 시간 10분 + Task2가 걸리는 시간 10분 = 총 20분이 소요된다. ..
2023.07.04