Skip to Content
Suffering builds character
아카이브2.JavaScript특징3. 동기와 비동기

3. 동기와 비동기

1. 일반적인 맥락에서의 동기(Sync)

영상을 보다가 자막이 영상보다 빠르거나 늦게 출력되는 경우, ‘싱크(Sync)가 안맞는다’라는 말을 사용함

이때의 싱크는 sync를 의미하는데, sysnchronous의 줄임말로서, ‘동기’ 혹은 ‘동시에 일어나는, 동기(同 한 가지 동, 期 기다릴 기)’ 이라는 의미를 갖고 있음

2. 프로그래밍에서의 동기(Sync)와 비동기(Async)

2-1. 동기, Synchronous

이전 작업이 다 수행되지 않을 경우, 다음 작업은 수행하지 못하는 상태(Blocking)

ex.
로그인 버튼 클릭 시 화면이 새로고침 되면서 로그인 화면으로 전환 되어야 할 때,
로그인 화면으로 이동하는 동안 사용자는 해당 화면이 나올 때 까지 다른 동작을 할 수 없게 됨 (만약 다른 동작을 할 경우 해당 화면을 불러오는 작업이 취소되기 때문에)

2-2. 비동기, Asynchronous

이전 작업의 수행 여부에 상관없이 다음 작업은 개별로 수행(Non-Blocking)

비동기 방식은 코드의 처리 순서가 보장되지 않는 대신, 동기 방식에 비해 결과 페이지가 응답되는 시간 동안 사용자는 다른 작업을 할 수 있다는 장점이 있음

sync_async

Img ref

Last updated on