- Synchronous VS Asynchronous
- 두 가지 이상의 Procedure(메서드, 작업, 처리 등)과 이를 처리하는 시간으로 구분한다.
- Synchronous: 호출된 함수의 리턴하는 시간과 결과를 반환하는 시간이 일치하는 경우
- Asynchronous: 호출된 함수의 리턴하는 시간과 결과를 반환하는 시간이 일치하지 않는 경우
- Blocking VS Non-Blocking
- 호출되는 Procedure가 직접 제어할 수 없는 경우 이를 구분할 수 있다.
- Blocking: 직접 제어할 수 없는 대상의 작업이 끝날 때까지 기다려야 하는 경우
- Non-Blocking: 직접 제어할 수 없는 대상의 작업이 완료되기 전에 제어권을 넘겨주는 경우
개념적인 부분이라 어떤 방식으로든 구현할 수 있다
non blocking async as call nd conversation
async is message chat
sync is conversation
thread is person
js async is single person message chat and conversation
to wait or not to wai