[개발]동기와 비동기

Dex·2022년 12월 31일
0

개발용어

목록 보기
1/1

동기(Synchronous)

  • 동기는 말 그대로 동시에 일어난다는 뜻이며, 데이터의 요청과 결과가 한 자리에서 동시에 일어나는 것을 말합니다.
  • 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에서 결과가 주어져야 합니다.
  • 순서에 맞춰 진행된다는 장점이 있지만 사용자가 데이터를 서버에게 요청한다면 그에 따른 응답을 사용자에게 다시 리턴해주기전까지 사용자는 다른 활동을 할 수 없으며 기다려야만 하고 추가적으로 여러 가지 요청을 동시에 처리할 수 없다는 단점이 있습니다.
  • 설계가 매우 간단하고 직관적입니다.

비동기(Asynchronous)

  • 비동기는 말 그대로 동시에 일어나지 않는다는 뜻이며, 데이터의 요청과 결과가 동시에 일어나지 않는것을 말합니다.
  • 동기와는 반대로 하나의 요청에 따른 응답을 즉시 처리하지 않아도, 그 대기시간 동안 또 다른 요청에 대해 처리 가능한 장점이 있지만 동기 방식에 비해 속도가 떨어질수 있습니다.
  • 동기보다는 설계가 복잡합니다.

동기와 비동기 장단점

장단점동기비동기
장점설계가 매우 간단하고 직관적요청에 따른 결과가 반환되는 시간 동안 다른 작업을 수행 가능
단점결과가 주어질 때까지 대기동기보다 설계가 복잡

동기와 비동기 차이점

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

블록

  • 블록이란 동기의 개념에서 만들어진 상태입니다.
    예로 들면 브라우저(크롬)가 실행되는 시간을 10분이라고 가정했을때 브라우저(크롬)가 오픈 되기전까지 다른 브라우저(사파리 등)는 계속 대기해야 하는데 그 상태를 블록이라고 합니다.

논블록

  • 논블록이란 비동기의 개념에서 만들어진 상태입니다.
    예로 들면 브라우저(크롬)가 실행되는 시간을 10분이라고 가정했을때 브라우저(크롬)가 오픈 되기전까지 다른 브라우저(사파리 등)는 시간을 대기 하지 않고 제약없이 자유롭게 사용할수 있는 상황을 논블록 상태라고 합니다.

Reference
Blog
Blog

profile
성장하는 개발자

0개의 댓글