그 외 기술
동기(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)