컴퓨터에서 사용하는 용어 중 동기와 비동기가 있다.
이 중 비동기라는 한글은 영어로 Asynchronous라고 영어로 표기한다. Asynchronous는 대표적으로 Ajax라는 기술의 첫번째 약자에서 사용된다. Ajax(Asynchronous Javascript XML)인데, 이 기술의 특징을 보면 비동기의 의미를 쉽게 알 수 있다. 홈페이지에 접속을 했는데, UI나 테이블 또는 이미지는 그대로 있고, 물론 이미지 갱신도 포함하여 페이지 로딩 시 데이터를 별도로 가져오는 기술이다. API 호출 등을 하여 응답을 받고 표시할 수 있다. 현상적으로 몇가지 얘길 해보면 과거 메뉴나 페이지 넘기기 같은 것을 하면 전체 페이지가 리로딩되어야 했다. 그럼으로써 새로 받은 데이터를 표시해줄 수가 있었다. 최근 보면 전체 프레임은 그대로 있고, 내부 데이터만 바뀌는 것을 볼 수가 있다. 이것이 페이지 내에서 다른 데이터는 유지되고, 일부 데이터만 갱신된다. 이는 동기와 비동기의 차이를 설명했다기 보다는 Ajax기술 설명에 가깝다. 하지만 이 기술이 바로 비동기 기술을 이용했다고 보면 된다. 네트워크 상의 동기와 비동기는 이런 차이가 있다.
동기는 응답을 받고 나서 다시 송신을 한다. 비동기는 응답 여부와 관계 없이 다시 전송을 할 수 있다. 두 사람의 대화에서 한사람의 말이 다 끝나고 말을 시작하면 동기이고, 말이 끝났는지 상관 없이 말을 하면 비동기이다.
동기와 비동기는 사용처가 다를 수 있고, 장단점이 나뉜다. 분명하게 응답을 받고 진행을 해야 하는 것은 동기로 해야 하고, 응답 여부 상관 없이 빠르게 진행을 할 수 있는 별도 업무인 경우는 비동기도 가능하다. 화면의 전체를 받는 것과 그 안의 데이터를 받는 것은 별도로 진행이 가능하기 때문에 비동기로 할 수 있다. 데이터에 저장을 하고 읽는 것도 반드시 데이터 동기화가 되어야 하는 같은 곳이 있을 수 있고, 별도 상관이 없는 곳이 있기 때문에 내용에 따라서 효율적으로 처리하면 된다.
책처럼 전체를 보기를 원하시면 아래 링크를 클릭하시고 북마크 하셔서 보시면 편리합니다.
'쉽게 풀어본 IT 기술 ' 카테고리의 다른 글
큐와 스택을 쉽게 비교하면 그리고 배열 (0) | 2018.09.01 |
---|---|
클라이언트/서버 통신 방법 & HTTP (0) | 2018.09.01 |
운영 체제의 핵심, 커널 (0) | 2018.09.01 |