/ EXITEM, 정처기

동기_비동기

동기와 비동기의 차이

가장 큰 차이는 프로그램 작업이 수행되는 방식과 작업이 완료될 때까지 대기해야 하는지 여부입니다.

동기

  • 작업이 순차적으로 진행되는 방식입니다.
  • 즉, 하나의 작업이 완료되기 전까지는 다른 작업이 시작되지 않습니다.
  • 이 때문에 작업이 끝날 때까지 대기해야 하는 경우가 발생할 수 있습니다.

비동기

  • 작업이 동시에 여러개 진행될 수 있는 방식입니다.
  • 즉, 하나의 작업이 완료될 때까지 다른 작업이 시작될 수 있습니다.
  • 이를 통해 작업이 끝날 때까지 대기하지 않고 다른 작업을 진행할 수 있어서, 전체적인 시스템의 성능이 향상될 수 있습니다.

예시1

  • 웹 서버에서 클라이언트의 요청을 처리할 때, 동기 방식은 클라이언트의 요청에 대한 응답을 처리하는 동안 다른 요청을 처리하지 않습니다.
  • 반면, 비동기 방식은 요청을 처리하는 동안 다른 요청을 처리할 수 있습니다.

예시2

  • 파일을 읽어오는 작업을 수행할 때를 들 수 있습니다.
  • 동기 방식 : 파일을 읽어오는 작업이 끝날 때까지 대기해야 합니다.
  • 비동기 방식 : 파일을 읽어오는 작업을 백그라운드에서 수행하고, 작업이 끝나면 콜백 함수를 호출하여 결과를 처리할 수 있습니다.