- 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
백엔드 개발자들이 알아야할 동시성 2 — 블로킹과 논블로킹, 동기와 비동기
이번 포스팅에서는, 본격적인 이야기에 앞서 알아야할 두가지 개념에 대해서 더 알아보려고 합니다. 많은분들이 들어보셨을만한 블로킹과 논블로킹, 동기와 비동기의 개념에 대해서 이야기 해보겠습니다.
https://choi-geonu.medium.com/백엔드-개발자들이-알아야할-동시성-2-블로킹과-논블로킹-동기와-비동기-e11b3d01fdf8

Sync VS Async, Blocking VS Non-Blocking
먼저 Synchronous와 Asynchronous의 어원을 보자. Synchronous의 Syn는 together이란 뜻이고, chrono는 time이다. 따라서 Synchronous는 함께 시간을 맞춘다라는 뜻으로 해석된다. 반면에 Asynchronous는 앞에 A라는 접두사가 붙어 부정 하는 형태가 되어 시간을 맞추지 않는 것이라 해석할 수 있다. Sync와 Async를 다루려면 위 어원에서 볼 수 있듯이 함께 하는 대상이 누구인지, 그 대상들의 시간 은 어떻게 다루어지는지 두 가지를 살펴봐야한다.
https://velog.io/@codemcd/Sync-VS-Async-Blocking-VS-Non-Blocking-sak6d01fhx


Seonglae Cho