동기 비동기 / Blocking, NonBlocking
A 함수 내부에서 B 함수를 호출
동기(Sync)
- A 함수가 B 함수의 작업 완료를 계속 확인하여, 결과를 받아 진행한다.
비동기(Async)
- A 함수가 B 함수의 작업 완료를 신경쓰지 않는다.
Blocking
- B 함수에게 넘어간 제어권을 작업이 완료될 때까지 돌려주지 않는다.
Non-Blocking
- B 함수에게 넘어간 제어권을 바로 A에게 바로 돌려준다.
예시
Blocking + Sync
NonBlocking + Sync
- 맵 이동 로딩 시 progress bar
- 맵 이동이 완료되었는지 계속 확인하면서 진행도를 표기
- 맵 이동이 완료되었다 알려주면 다음 맵으로 이동
Blocking + Async
NonBlocking + Async