Android
[펌] Blocking vs Non-blocking / Synchronous vs Asynchronous
StanleyKou
2020. 1. 30. 19:18
https://brainbackdoor.tistory.com/26
async : 이벤트 핸들러 (callback)에 의해 처리 (callback 함수가 호출되기까지 다른 작업 가능)
sync : 이벤트를 자신이 직접 처리(확인의 주체가 유저 프로세스이며, 다 될때까지 기다리거나 스스로 확인)
block : 완료까지 대기(리턴되기 전까지 멈춤)
non-block : 미완료라도 즉시 리턴
간단히 까페에서 커피를 주문하는 것을 예로 들어보면,
1. 커피를 타달라는 요청이 왔다.
2-1. 이 때 커피가 있으면 타준다(블로킹/넌블로킹 모두)
2-2. 커피가 없는 경우 블로킹 : '잠깐만요'하고 사러 간다. / 넌블로킹 : 커피가 없다고 말하고 사러 간다.
3-1. 동기 : 커피가 타졌는지 안타졌는지 내가 확인한다.
3-2. 비동기 : 벨이 울리면 받으러 간다.