Computer Basics
동기식 (Synchronous) / 비동기식 (Asynchronous) 이란?
Bumang
2023. 9. 5. 09:11
동기식 (Synchronous)
먼저 시작된 작업이 끝날 때까지 다른 작업을 시작하지 않고 기다렸다가 다 끝나면 새로운 작업을 시작하는 방식이다. 직렬로 배치. 작업 실행의 순서가 확실히 정해져 있다.
비동기식 (Asynchronous)
동기식 방식과는 다르게 먼저 시작된 작업이 끝나든 안 끝나든 새로운 작업을 시작하는 방식이다. 위 그림 Asynchronous와 같이 작업이 병렬로 배치되어 실행되며 작업 완료 순서가 확실하지 않다. 나중에 시작된 작업이 먼저 끝나는 경우도 발생.
- DOM Element 의 이벤트 이벤트 핸들러
- 마우스, 키보드 입력 (click, keydown 등), 페이지 로딩 (DOMContentLoaded 등)
- 타이머
- 타이머 API (setTimeout 등), 애니메이션 API (requestAnimationFrame)
- 서버에 자원 요청 및 응답
- fetch API, AJAX (XHR)
블록/ 논블록이란?
블록 상태는 한 task가 완료할 때까지 다른 task는 실행이 막혀있는 상태를 말한다. 동기적 처리에서 발생한다.
논블록이란 한 task가 완료되든말든 다른 task도 동시에 실행할 수 있는 상태이다.