동기
요청과 결과가 동시에 일어난다
설계가 매우 간단하고 직관적
하지만 결과가 주어질 때 까지 다른작업을 하지 못하고 대기해야 한다
[참고] 블록 상태
결과가 주어질 때 까지 다른작업을 하지 못하고 대기해야하는 상태
예) 카페의 바리스타가 한 손님의 주문을 받고, 커피가 완성될 때 까지 손님은 그 자리에 서서 아무것도 하지 않고 대기해야한다고 한다고 함. 그렇지 않으면 커피를 주지 않겠다고 하는 인성 논란의 바리스타... 😲
비동기
요청과 결과가 동시에 일어나지 않는다
동기보단 설계가 복잡
하지만 결과가 주어질 때 까지 다른작업을 할 수 있어 자원을 효율적으로 사용 가능
[참고] 논블록 상태
결과가 주어질 때 까지 다른작업을 할 수 있는 상태
예) 카페의 바리스타가 손님의 주문을 받은 뒤 커피를 만들고 진동벨로 알려준다. 이 때 손님은 커피를 기다리는 동안 휴대폰을 보거나 화장실을 이용할 수 있다. 🤗
또한 동기와 비동기는 작업을 처리하고자 하는 시각의 차이
가 있기도 하다.
- 동기 : 같은 목적을 추구하는 행위가 동시에 이루어진다.
- 비동기 : 같을 수도 다를 수도 있는 목적을 동시에 처리할 수도 동시에 처리하지 않을 수도 있다.
REFERENCE
'📜 TIL' 카테고리의 다른 글
[Android] 루트 액티비티(Root Activity) & 어플리케이션 클래스(Application class) 간단히 알아보자 (0) | 2022.10.26 |
---|---|
[Android] Network (0) | 2022.10.25 |
[Android] values의 strings.xml에 없는 값을 사용해도 실행이 잘 되는 경우 (0) | 2022.10.20 |
[Android] Kotlin 파일은 Java파일의 Lombok 라이브러리와 호환되기 힘들다 (0) | 2022.10.19 |
[Android] Java 프로젝트에 Kotlin 언어 적용하기 (0) | 2022.10.19 |