동기
- Synchronous(동시에 일어나는)
- 서버에서 요청을 보냈을 때 응답이 돌아와야 다음 동작을 수행
- 시간이 얼마나 걸리던지 요청한 자리에서 결과가 주어져야 한다
- 따라서 결과가 주어질 때까지 아무것도 못하고 대기해야함
- 설계가 매우 간단하고 직관적
📌 자바스크립트가 바로 동기식 언어
이자 싱글 스레드
에 해당하며 코드 실행 중 하나의 코드에서 멈추거나 걸리면 다음으로 진행할 수 없게 된다. 예를 들어, alert등의 코드가 실행되면 경고창에서 확인을 누르기 전까진 UI 조작이 불가함.
비동기
- Asynchronous(동시에 일어나지 않는)
- 동기 방식과 반대로 요청을 보냈을 때 응답 상태와 상관없이 다음 동작을 수행
- A작업이 시작하면 동시에 B작업이 실행되고 A작업은 결과값이 나오는 대로 출력
- A작업이 진행되는 동안 다른 작업을 할 수 있음으로 자원을 효율적으로 사용
- 동기 방식보다 복잡함
싱글스레드 & 멀티스레드
스레드 : 프로세스 내에서 실제로 작업을 처리하는 주체
이 부분은 추가로 공부하고 따로 포스팅하기
참고: https://leeph.tistory.com/24
참고한 레퍼런스
감사합니다.