본문 바로가기

안드로이드/Asynchronous

[안드로이드] 동기와 비동기

동기와 비동기

동기(Synchronous): 동기란 어떠한 순차적인 작업 A, B, C가 있을 때, A작업이 끝날 때까지 B와 C작업이 대기

즉, 한 번에 하나씩 작업을 처리하는 방식이다.

 

비동기(Asynchronous): 비동기란 A가 작업 중이여도 B와 C를 작업할 수 있는 상태,

즉, 자원을 효율적으로 사용하여 여러가지 작업을 진행할 수 있는 방식이다.

 

비동기 방식을 사용해야 하는 이유

사실 간단한 소규모 프로젝트에서는 비동기 방식을 사용하지 않아도 어떠한 문제가 없었을 것이다.

그러나 대규모, 플랫폼 단위로 넘어가면 다양한 작업들이 많아질 것이다.

 

예를 들어, 어떠한 네트워크 작업이 이루어지는데 이 작업이 생각보다 오래걸린다면

사용자는 이 네트워크 작업이 다 이루어질 때까지 해당 어플을 사용하지 못하게 된다.

 

따라서 이러한 작업들은 비동기 방식으로 백그라운드에서 처리하도록 하여 네트워크 작업이 진행중이더라도

사용자는 문제 없이 어플을 사용할 수 있도록 해야한다.

 

비동기 기술의 종류

대표적인 비동기 처리 방식의 기술은 다음과 같다.

  • RxJava, RxAndroid, RxKotlin
  • Coroutine

 

'안드로이드 > Asynchronous' 카테고리의 다른 글

[안드로이드] Coroutine Flow  (1) 2024.03.30
[안드로이드] 코루틴  (0) 2024.03.11
[안드로이드] 스레드  (0) 2024.03.11