Sync vs Async

delma·2020년 5월 1일
0

CS

목록 보기
3/3
post-thumbnail

동기 Synchronous

  • 타이밍을 맞춘다
  • (누가) (누구와) 타이밍이 맞을때까지 기다린다
  • 요청을 보낸 후 응답(=결과)를 받아야 다음 동작이 이루어짐


모든 회로 구성은 주기적으로 신호를 만들어 냄(클락). 그 신호마다 어떤 상태인지 확인하고 동작하도록 확인. 그래서 클락의 타이밍에 맞춰 동작하게 됨. 하드웨어 시스템은 다 동기방식으로 동작함.



비동기 Asynchronous

  • 요청을 보낸 후 응답(=결과)와 상관 없이 다음 방식이 동작
  • 결과가 주어지는 동안 시간이 걸려도 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있음
  • 비동기 처리를 요청할 때 할일이 끝난 후 처리결과를 알려주는 콜백이라는 함수를 함께 알려줌
  • 비동기식 처리를 요청했을 때 호출받은 함수는 바로 응답(=확인)을 수행. 이 응답은 처리 결과에 대한 응답이 아니라 요청에 대한 확인 동작일 뿐이다.
  • 호출받은 함수는 처리가 끝나면 요청한 함수를 호출해 처리 결과를 전달. 이러한 함수 호출의 흐름은 사용자가 아닌 일을 마친 시스템이 호출하는 형태이기 때문에 콜백이라고 불린다. 이미 응답을 했으므로, 처리 결과를 함수 호출이라는 형태로 전달하는 것.

References

profile
🌐Code makes world better

0개의 댓글