동기와 비동기는 단순히 좋고 나쁜 방식으로 나눌 수 없다.
동기 처리는 앞선 작업의 결과가 나올 때까지 다음 흐름을 기다린다. 코드의 순서대로 결과를 확인할 수 있어 이해하기 쉽다.
비동기 처리는 작업을 맡긴 뒤 다른 일을 진행한다. 콜백, Task, 이벤트처럼 결과가 준비되는 시점을 따로 다루게 된다.
비동기는 자원을 효율적으로 쓸 수 있지만, 상태와 순서를 관리하는 일은 더 복잡해진다.
반대로 동기 구조가 단순하다고 해서 항상 성능이 나쁜 것도 아니다. 실제로 비동기 구조를 줄여 성능을 개선하는 경우도 있다.
중요한 것은 유행하는 방식이 아니라, 시스템이 실제로 기다려야 하는 지점이 어디인지다.
댓글을 불러오고 있습니다.