[기술 면접] 동기(sync), 비동기(async) 차이

송진영·2023년 8월 18일
1

기술면접

목록 보기
16/24

동기(Synchronous) 방식

작업이 실행될 때, 해당 작업이 완료될 때까지 기다린다. 즉, 해당 작업이 끝나기 전까지는 다른 작업을 수행하지 않는다. 이 작업이 완료된 후에는 결과가 반환된다.

  • 요청과 결과가 한 자리에 동시에 나타나는 것으로 사용자가 서버로 요청을 보냈을 경우 요청에 대한 응답을 리턴받기 전까지 다른 것을 하지 못하고 기다려야 한다.
  • 특정 프로그램을 구동시키는 데 시간이 5분 소요된다고 하면, 이 프로그램이 구동되는 5분 동안 컴퓨터는 다른 프로그램을 동작시키지 못하고, 구동되기를 기다려야 한다.

동기 장단점

  • 장점 : 설계가 간단하고, 직관적이다.
  • 단점 : 요청에 대한 결과가 반환되기 전까지 대기해야 한다.

비동기(Asynchronous) 방식

작업이 실행되고 완료되는 동안 다른 작업을 수행할 수 있다. 즉, 해당 작업이 완료되지 않았더라도 다른 작업을 수행할 수 있다. 결과는 작업이 완료될 때 반환된다.

  • 요청한 곳에 결과가 나타나지 않으며, 사용자가 서버로 요청을 보냈을 경우 요청에 대한 응답을 기다리지 않고, 다른 것을 수행할 수 있으며 서버로 다른 요청을 보낼 수도 있다.
  • 특정 프로그램을 구동시키는 데 시간이 5분 소요되어도 그 시간 동안 다른 프로그램을 수행할 수 있다.

비동기 장단점

  • 장점 : 요청에 대한 결과가 반환되기 전에 다른 작업을 수행할 수 있어서 자원을 효율적으로 사용할 수 있다.
  • 단점 : 동기 방식보다 설계가 복잡하고, 논증적이다.
profile
못하는 건 없다. 단지 그만큼 노력을 안 할 뿐이다.

0개의 댓글