동기와 비동기

Leo·2023년 8월 2일
0

FrontEnd

목록 보기
26/26

데이터 처리 모델

데이터 처리 모델을 쉽게 표현하면 데이터를 받는 방식이다.
이 방식에는 동기식 처리와 비동기식 처리 모델이 존재한다.

❓ 동기 (Synchronous)

동기는 데이터의 요청과 결과가 한 자리에서 동시에 일어나는 것을 말한다.

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

사용자가 데이터를 서버에게 요청한다면 그 서버가 데이터 요청에 따른 응답을 사용자에게 다시 리턴해주기 전까지 사용자는 다른 활동을 할 수 없으며 기다려야만 한다.

동기식 ex)
브라우저를 실행시키는 시간이 약 10분이 소모된다고 가정하면,
브라우저가 실행되는 10분이라는 시간 동안 사용자는 컴퓨터의
다른 프로그램을 동작시키지 못하며 브라우저가 켜지는 그 순간만을 계속
기다려야한다. 이 시간이 10분이든 100분이든 관계없이
한 개의 데이터 요청에 대한 서버의 응답이 이루어질 때까지 계속 대기해야 한다.

❓ 비동기 (Asynchronous)

비동기는 동시에 일어나지 않는다는 것을 의미한다.

요청한 결과는 동시에 일어나지 않을 거라는 약속이다.

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

💡 동기와 비동기의 장단점

🧑🏻‍💻 동기

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

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

🧑🏻‍💻 비동기

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

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

📌 정리

  • 동기와 비동기는 어떤 작업 혹은 그와 연간된 작업을 처리하고자 하는 목적의 차이다.

  • 동기는 추구하는 행위와 목적이 동시에 이루어진다.

  • 비동기는 추구하는 행위와 목적이 다를 수도 있고, 동시에 이루어지지도 않는다.


💬 블록과 논블록의 차이

블록과 논블록은 동기, 비동기와 연결되는 개념이다.

🛠️ 블록이란 ?

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

브라우저(크롬)가 실행되는 시간이 10분이라고 가정했을 때
브라우저(크롬)가 오픈되기 전까지 다른 브라우저가 계속 대기해야
하는 상태를 블록 상태라고 부른다.


⚙️ 논블록이란 ?

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

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


📌 블록과 논블록 정리

  • 블록이란 동기의 개념에서 만들어진 상태를 의미한다.

  • 논블록이란 비동기 개념에서 만들어진 상태를 의미한다.

4개의 댓글

comment-user-thumbnail
2023년 8월 2일

잘 봤습니다. 좋은 글 감사합니다.

답글 달기
comment-user-thumbnail
2023년 8월 4일

블로그 언제 작성하시나요?

답글 달기
comment-user-thumbnail
2023년 8월 14일

블로그 언제 작성하시나요?2

1개의 답글