본문 바로가기
STUDY/CS

동기 / 비동기

by 수쨔앙 2023. 1. 5.

동기(synchronous )

  • 요청을 하면 (바로) 응답을 받는다는 의미. 말 그대로 동시에 일어난다는 뜻.
  • 요청과 그 결과가 동시에 일어난다는 약속. 바로 요청을 하면 시간이 얼마가 걸리던지 요청한 자리에서 결과가 주어져야 한다.
    -> 요청과 결과가 한 자리에서 동시에 일어남.
    -> A노드와 B노드 사이의 작업 처리 단위(transaction)를 동시에 맞추겠다.
  • 설계가 간단하고 직관적이지만 결과가 주어질 때 까지 아무것도 못하고 대기해야된다

비동기(Asynchronous)

  • 동시에 일어나지 않는다를 의미. 요청과 결과가 동시에 일어나지 않을거라는 약속이다.
  • 요청과 응답이 다른 시간대 존재하기 때문에, 요청내용에 대해 지금 바로 혹은 당장 응답받지 않아도 된다. (바로 응답이 와도 되고!)
    -> 요청한 그 자리에서 결과가 주어지지 않음.
    -> 노드 사이의 작업 처리 단위를 동시에 맞추지 않아도 된다.
  • 동기보다 설계가 복잡하지만 결과가 주어지는데 시간이 걸리더라고 그 시간동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있다.

페이지 리로드의 경우, 전체 리소스를 다시 불러와야하는데 이미지, 스크립트 , 기타 코드등을 모두 재요청할 경우 불필요한 리소스 낭비가 발생하게 되지만 비동기식 방식을 이용할 경우 필요한 부분만 불러와 사용할 수 있으므로 매우 큰 장점이 있다.

동기는 추구하는 같은 행위(목적)가 동시에 이루어지며,
비동기는 추구하는 행위(목적)가 다를 수도 있고, 동시에 이루어지지도 않는다고 요약할 수 있겠다.

 

출처 : https://sudo-minz.tistory.com/21

728x90

'STUDY > CS' 카테고리의 다른 글

복습(환경변수 설정, 이메일 인증)  (0) 2023.01.05
TCP / UDP  (0) 2023.01.05
프로세스/스레드  (0) 2023.01.05
Base64 인코딩  (0) 2023.01.05
자료구조(해시테이블)  (0) 2023.01.04

댓글