동기, 비동기 처리에 대해서 알아보자

지수 🤓·2020년 4월 28일
0

개념 정리

목록 보기
5/17
post-thumbnail
post-custom-banner

동기식 처리(Synchronous)

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

  • 설계가 매우 직관적이다.
  • 결과가 주어질 때까지 아무것도 못하고 기다려야 한다.
  • 순차적으로 요청을 처리한다.
  • 요청을 보내고 결과를 받아야 다음 동작이 이루어지는 방식
  • 결과가 오기 전에는 이후 테스크들은 모두 블로킹(blocking, 작업 중단)된다.

비동기식 처리(Asynchronous)

태스크가 종료되지 않은 상태라 하더라도 대기하지 않고 다음 태스크를 실행한다.
결과가 주어지는데 시간이 걸리더라도 그 시간 동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있다.

  • 순차적으로 실행하지 않는다.
  • 응답을 기다리지 않고 다음 테스크를 수행한다.
  • 병렬적으로 테스크를 수행한다.
  • 자원을 효율적으로 사용할 수 있다.

오래 걸리는 작업은 비동기 처리 방식을 사용해 사용자가 해당 작업을 기다리지 않고 다른 작업을 진행할 수 있도록 하면 좋다. 사용자 측면에서 속도 개선을 유도할 수 있다.

profile
Backend Junior Developer
post-custom-banner

0개의 댓글