본문 바로가기

Coroutine2

[Kotlin-Coroutine] coroutine Mutex(상호배제) 예제를 통한 사용법 이번 포스팅은 이전 개발자분이 만들어 놓은 코드 분석 중 처음 접한 Coroutine의 Mutex를 사용한 코드가 있어 알아둬야겠다고 생각해서 적어본다. 우선 아래 정리를 통해 Mutex대해 알아보자!# Mutex란? (특징)- Mutual Exclusion의 약자로 "상호 배제"를 의미한다. ("상호 배제"에 관해서는 시간이 난다면 따로 블로그 포스팅을 해야겠다..) - 여러 코루틴이 동시에 공유 자원에 접근하지 못하게 하여 데이터 일관성을 유지시켜 준다. - 한 코루틴이 Mutex를 획득하면, 다른 코루틴은 해당 Mutex가 해제될 때까지 대기하게 된다.# Mutex 사용 이유그럼 Mutex는 왜 사용하냐? 위 Mutex에 특징과 거의 비슷한데 간단하게 정리하면 이유는 아래와 같다여러 코루틴이 동시에.. 2024. 6. 9.
코루틴(Coroutine)이란? 비동기 처리를 하는 데에는 몇 가지 방법이 있다. Rx는 다양한 기능을 제공하지만 진입 장벽이 높아 학습에 오랜 시간이 걸린다. 코루틴을 이용하면 비동기스럽지 않게 생긴 코드로, 메모리를 효율적으로 사용하면서 손쉽게 비동기 처리를 할 수 있다. 그래서 간단히 알아보았다. # 코루틴(Coroutine) 비동기적으로 실행되는 코드를 간소화하기 위해 Android에서 사용할 수 있는 동시 실행 설계 패턴이다. 코틀린 언어의 하위 개념인 줄 알았는데, C#이나 Python, Go 등 다양한 언어에서 이미 지원하고 있는 개념이다. Coroutine을 사용하는-즉 백그라운드 태스크가 필요한-대표적인 경우는 아무래도 1. 네트워크 리퀘스트 (Retrofit, Volley 등) 2. 내부 저장소 접근 (Room, SQ.. 2022. 2. 4.