Tiny Finger Point Hand With Heart
본문 바로가기
1일1CS

23. 동기와 비동기의 차이

by yoondii 2022. 12. 30.
728x90
반응형

데이터 처리 모델

데이터 처리 모델을 쉽게 표현하자면 데이터를 받는 방식이라고 할 수 있다.

동기와 비동기 방식

 동기(Synchronous: 동시에 일어나는)

- 동기는 말 그대로 동시에 일어난다는 뜻이다. 요청과 그 결과가 동시에 일어난다는 약속이다.

바로 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에서 결과가 주어져야 한다.

사용자가 데이터를 서버에게 요청한다면 그 서버가 데이터 요청에 따른 응답을 사용자에게 다시 리턴해주기 전까지

사용자는 다른 활동을 할 수 없으며 기다려야한다.

순서에 맞춰 진행되는 장점이 있지만,  여러 가지 요청을 동시에 처리할 수 없다.

 

위 그림의 (a)처럼 커피 주문을 받고 나올 때까지 기다리는 것이 동기 방식의 예시라고 할 수 있다.

 

 비동기(Asynchronous: 동시에 일어나지 않는)

- 비동기는 동시에 일어나지 않는다를 의미한다. 요청과 결과가 동시에 일어나지 않을 거라는 약속이다.

하나의 요청에 따른 응답을 즉시 처리하지 않아도, 그 대기 시간동안 또 다른 요청에 대해 처리 가능한 방식이다.

서버에게 데이터를 요청한 후 요청에 따른 응답을 계속 기다리지 않아도되며 다른 외부 활동을 수행하여도되고,

서버에게 다른 요청사항을 보내도 상관없다.

여러 개의 요청을 동시에 처리할 수 있는 장점이 있지만 동기 방식보다 속도가 떨어질 수도 있다.

 

위 그림의 (b)처럼 점원 한명이 커피 주문을 받고 다른 점원이 커피를 건네주는 것이 비동기 방식의 예시다.

 

출처 :https://poiemaweb.com/js-async

동기와 비동기의 장단점

 동기

장점 : 설계가 매우 간단하고 직관적이다.

단점 : 결과가 주어질 때까지 아무것도 못하고 대기해야 한다.

비동기

장점 : 요청에 따른 결과가 반환되는 시간 동안 다른 작업을 수행할 수 있다.

단점 : 동기식보다 설계가 복잡하다.

 

정리

  • 동기와 비동기는 어떤 작업 혹은 그와 연관된 작업을 처리하고자 하는 목적의 차이.
  • 동기는 추구하는 행위 와 목적이 동시에 이루어지고,
  • 비동기는 추구하는 행위 와 목적이 다를 수도 있고, 동시에 이루어지지도 않는다.

블럭 과 논블럭의 차이

블럭 과 논블럭은 동기, 비동기와 연결되는 개념

블럭이란?

  • 블럭이란 동기의 개념에서 만들어진 상태

브라우저가(크롬) 실행되는 시간이 10분(요청)이라고 가정했을시에
브라우저가(크롬) 이 오픈(결과) 되기전까지 다른 브라우저(사파리 등등)은 계속 대기해야 하는 상태를 블럭 상태라고 부른다.

 

논블럭이란?

  • 논블럭이란 비동기 개념에서 만들어진 상태

브라우저가(크롬) 실행되는 시간이 10분(요청)이라고 가정했을시에
브라우저가(크롬) 이 오픈(결과) 되기전까지 다른 브라우저(사파리 등등)은 시간을 대기 하지 않고 제약없이 자유롭게 사용할수 있는 상황을 논블럭 상태 라고 부른다.

 

 블럭과 논블럭 정리

  • 블럭이란 동기의 개념에서 만들어진 상태
  • 논블럭이란 비동기 개념에서 만들어진 상태
728x90
반응형

'1일1CS' 카테고리의 다른 글

25. 중앙처리장치(CPU)  (0) 2023.01.04
24. TCP/IP 계층개념과 OSI7계층 비교  (5) 2023.01.03
22. 프로토콜의 개념, 요소,특징,계층 구성  (0) 2022.12.29
21. MSA란 무엇인가  (0) 2022.12.29
20.HTTPS 란  (0) 2022.12.28

댓글