그 외 기술

동기(Synchronous)와 비동기(Asynchronous)

E.I.T.U 2021. 7. 23. 12:41

동기 : 요청과 결과가 동시에 일어난다는 약속

마치 요청 후 결과가 바로 나와야한다는 것으로 해석될 수 있지만 그것이 아닌

한번 요청하면 결과가 나올때까지 기다려야한다는 것이다

"요청 -> 처리중 -> 결과" 한 사이클 끝나야 다른 작업을 할 수 있음

 

예) 게임에서 아이템을 직접 제작할 때 로딩을 기다리는것

동기 예) 메이플스토리 아이템 제작

비동기 : 요청과 결과가 동시에 일어나지 않는다는 약속

요청 후 결과가 나오는데 시간이 걸린다는점때문에 동기방식보다 나쁘다라고 생각될 수 있지만

분명한 차이점이 있다

작업 사이클이 종료될 때까지 사용자가 기다려야하는 동기 방식과는 달리

비동기 방식의 경우 결과가 나올때까지 다른 작업을 하며 기다릴 수 있다는 것이다

예를 들어 A가 B에게 필요한 서류를 요청하는 "서류 요청 -> 요청받은 서류 수집 -> 서류 제공" 이라는 작업이 있다면

A는 서류를 요청하고 B가 서류를 모아 다시 A에게 제공할 때까지 다른 일을 하며 기다릴 수 있다

A가 B에게 서류 요청 -> B는 요청받은 서류를 수집 -> B가 A에게 서류 제공

                                      A는 다른 작업중                                       -> A가 B에게 받은 서류확인

 

예) 게임에서 아이템을 경매장에 올리고 팔릴때까지 다른 일을 하는것

 

참고한 사이트:동기와 비동기의 개념과 차이 (tistory.com)