JavaScript (8) - 비동기 프로그래밍
2025. 12. 3. 06:52ㆍfront-end/JavaScript
728x90
728x90
비동기 프로그래밍
작업이 완료될 때까지 기다리지 않고 다음 코드 실행

setTimeout() 라는 Web API(콜백 대기 공간)에게 맡기고 '기다리지 않고' Main Thread 실행
asyncPrint 를 먼저 호출 했으나 foo 함수는 기다리지 않고 먼저 실행 된 후 3초뒤 asyncPrint 가 실행됨

싱글쓰레드에서 (스케쥴링, 서버와 통신, 이벤트, 파일I/O, Cache API)와 같은 이벤트들은
메인쓰레드가 아닌 별도의 백그라운드 쓰레드를 활용 하고
그 후에 다시 메인쓰레드에서 작업을 진행한다.
JS(FE/BE) 실제 예시
- 스케쥴링
- 서버와 통신
- 이벤트
- 파일 I/O
- Cache API
결론
JS는 싱글쓰레드지만 비동기 방식을 통해서 동시성을 달성 할 수 있음
728x90
'front-end > JavaScript' 카테고리의 다른 글
| JavaScript (9) - 자바스크립트 런타임 구조(Runtime Architecture)/동작 원리 (0) | 2025.12.04 |
|---|---|
| JavaScript (7) - 가비지 컬렉션(GC)란? (0) | 2025.11.30 |
| 직접만든 라이브러리 npm package 배포하기 (모듈 배포, 버전업 후 배포실패시 캐시 삭제) (0) | 2024.02.03 |
| Javascript debugger (1) - 브라우저를 코딩 에디터로 사용하기 (0) | 2024.02.01 |
| JavaScript (6) - 호이스팅(Hoisting), 변수 선언의 실행 시점 (2) | 2023.12.04 |