JavaScript | 동기 & 비동기 이해

Hayley·2022년 2월 9일
0

동기

  • Synchronous(동시에 일어나는)
  • 서버에서 요청을 보냈을 때 응답이 돌아와야 다음 동작을 수행
  • 시간이 얼마나 걸리던지 요청한 자리에서 결과가 주어져야 한다
  • 따라서 결과가 주어질 때까지 아무것도 못하고 대기해야함
  • 설계가 매우 간단하고 직관적

📌 자바스크립트가 바로 동기식 언어이자 싱글 스레드에 해당하며 코드 실행 중 하나의 코드에서 멈추거나 걸리면 다음으로 진행할 수 없게 된다. 예를 들어, alert등의 코드가 실행되면 경고창에서 확인을 누르기 전까진 UI 조작이 불가함.


비동기

  • Asynchronous(동시에 일어나지 않는)
  • 동기 방식과 반대로 요청을 보냈을 때 응답 상태와 상관없이 다음 동작을 수행
  • A작업이 시작하면 동시에 B작업이 실행되고 A작업은 결과값이 나오는 대로 출력
  • A작업이 진행되는 동안 다른 작업을 할 수 있음으로 자원을 효율적으로 사용
  • 동기 방식보다 복잡함

싱글스레드 & 멀티스레드

스레드 : 프로세스 내에서 실제로 작업을 처리하는 주체

이 부분은 추가로 공부하고 따로 포스팅하기
참고: https://leeph.tistory.com/24


참고한 레퍼런스

감사합니다.

profile
👩🏻‍💻✍🏻

0개의 댓글