카테고리 없음
동기 vs 비동기
해말그미
2023. 3. 17. 16:39
동기(synchronous)
JavaScript의 동기 처리란 ‘특정 코드의 실행이 완료될 때까지 기다리고 난 후 다음 코드를 수행하는 것’을 의미합니다.
(결과를 기다리는 것)
비동기(asynchronous)
JavaScript의 비동기 처리는 ‘특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드들을 수행하는 것’을 의미합니다.
(결과를 기다리지 않는 것)
효율적인 대신 결과를 확인할 수 없음
비동기식으로 일하는 대신 확인할 수 있도록 절차를 추가한다.
즉 효율적인 대신 복잡하다.
동기식에서 답변이 올 때까지 기다리는 상태를 blocking
비동기식에서 답변이 올때까지 기다리지 않는 것은 Non-blocking
a계좌 b계좌
계좌이체 프로그램을 구현하려 한다면
만원을 인출하여 송금하려면 동기식으로 구현해야 한다.
a계좌에서 인출할 때 결과값이 잔액이 부족하다라던지 올바르지 않은 계좌번호 라던지, 점검시간이라는 오류가 발생될 수있기 때문에 성공적으로 끝나야 그다음인 b계좌로 송금하기를 실행해야 한다.
상황에 따라 동기식으로 할지 비동기식으로 할지 결정해야 한다.