My Boundary As Much As I Experienced

동기식 (Synchronous) / 비동기식 (Asynchronous) 이란? 본문

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도 동시에 실행할 수 있는 상태이다.

'Computer Basics' 카테고리의 다른 글

세마포어(Semaphore) & 뮤텍스(Mutex)  (0) 2023.09.12
경쟁 상태(Race Condition)  (0) 2023.09.12
데드락(Deadlock)  (0) 2023.09.05
CPU Scheduling  (0) 2023.09.05
IPC(Inter Process Communication)  (0) 2023.08.29