충분히 쌓여가는
동기(Synchronous) / 비동기(Asynchronous) 본문
비동기(Asynchronous)
- 네트워킹 및 통신에 가장 적합한 다중 스레드 모델
- 비동기식은 비차단 아키텍처이므로 하나 이상의 작업이 진행되는 동안 추가 실행을 차단하지 않는다
- 다른 작업이 완료될 때까지 기다리지 않고 여러 관련 작업을 동시에 실행할 수 있음
- 비동기 통신 중에 당사자는 수신 즉시 응답하지 않고 편리하거나 가능할 때 메시지를 수신하고 처리함
- ex. 문자 메시지: 한 사람이 문자 메시지를 보낼 수 있고 받는 사람은 여가 시간에 응답할 수 있고, 그 동안 발신자는 응답을 기다리는 동안 다른 작업을 수행할 수 있다
동기(Synchronous)
- 차단 아키텍처로 알려져 있으며 반응형 시스템 프로그래밍에 이상적
- 단일 스레드 모델로서 엄격한 시퀀스 집합을 따르므로 작업이 한 번에 하나씩 완벽한 순서로 수행됨
- 하나의 작업이 수행되는 동안 다른 작업의 명령은 차단됨
- 첫 번째 작업이 완료되면 다음 작업이 트리거됨
- ex. 계좌 입급: A가 B에게 돈을 송금했을 때, A계좌에서 출금과 B계좌에서 입금이 동시에 이루어져야 함
AJAX(Asynchronous JavaScript And XML)
- 자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술
- 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 로드하지 않고 필요한 일부 페이지의 데이터만을 로드하는 기법
- 하이퍼텍스트 표기언어(HTML)만으로는 어려운 다양한 작업을 웹 페이지에서 구현해서 이용자가 웹 페이지와 자유롭게 상호 작용할 수 있도록 구현하는 기법
참고자료
수제비 정보처리기사 실기 5-23
mendix, "What is the difference between asynchronous and synchronous programming?"
'IT > Computer Science' 카테고리의 다른 글
Router (0) | 2023.01.03 |
---|---|
TCP/IP (0) | 2023.01.03 |
OSI (Open System Interconnection) 7계층 (1) | 2022.12.30 |
프로토콜(Protocol) / OSI 7계층 (1) | 2022.12.29 |
MSA(MicroService Architecture) (0) | 2022.12.29 |