본문 바로가기
IT_Developers/코딩이론

코딩이론 - 동기(synchronous) , 비동기(Asynchronous )의 차이점

by 고코더 2019. 10. 21.


동기식 비동기식 뭐가 다를까?


안녕하세요.
고코더 입니다.



동기, 비동기 단어 자체가 영어로 보면 머리속에 들어오는데 번역된 한글로 보면 조금 헷갈린 구석이 있습니다.

동기(synchronous)
    - 응답을 받아야만 다음 동작을 실행 
비동기는 (Asynchronous)
    - 응답에 상관 없이 바로 다음 프로세스를 진행



 1. 동기방식


우리가 많이 사용하는 ajax는 보통 동기식을 많이 사용합니다. 해당 데이터를 모두 가져와서 다음 프로세스에서 함께 사용하는 경우가 많기 때문입니다. 동기는 하수도관이 하나 입니다. 물길이 하나여서 하나가 다 된 다음 다음 프로스세를 순차적으로 실행합니다. 프로세스적 절차가 중요한 사이트 관리자 페이지라던가 금융 업무와 같은 곳에서는 동기식인 경우가 많습니다.

특징
    - 한번에 하나씩 처리하면서 내려간다
    - 순차적으로 처리하기에 비동기에 비해 느리게 결과 값이 나타난다.
    - 디버깅이 쉽다




 2. 비동기 


비동기는 다양한 작업이 동시에 일어납니다. 예를 들면 메인화면이 노출되는데 실시간 채팅창은 로딩 된데로 뜨고 게시판 미리보기도 로딩되는데로 뜹니다. 그리고 로그인창이 오랫동안 로딩 하다 404에러가 난다면 다른 프로세스와 상관없이 나중에 오류가 난 박스대로 보여집니다. 이처럼 비동기는 우리가 많이 보는 사이트에 모습입니다.

특징
    - 여러가지 로직이 동시에 처리 된다.
    - 매우 빠르게 결과가 도출된다.
    - 다른 프로세스의 결과 값을 받아 쓸때 이를 조절해야 한다.




마무리


번역 자체가 이상해서 항상 헷갈립니다.
동기가 기다려서 순차적으로 실행하는 단어입니다!!
"동시시 시작하기 위해 기다린다" 이렇게 외우세요!



댓글