오늘은 면접 대비 cs 지식은 동기와 비동기의 차이이다.
동기
순차적으로 코드를 실행하고 앞서 실행된 코드가 완료 될때까지 다음 코드는 실행되지않는다.
비동기
앞서 실행된 코드가 완료 되길 기다리지않고 다음 코드도 실행 되는 것이다.
ex)
예를 들면 데이터를 입력 했을 때 화면에 나타내고 데이터베이스에 저장 하는 두 작업을 나타낸 다음 저장 하는것 과 나타내는 작업을 실행하고 해당 작업이 동작 하는 동안 데이터베이스에 저장도 실행 하는 것이다.
장단점
동기 는 코드가 직관적이며 디버깅이 쉽다는 장점이 있지만 앞서 동작한 코드가 완료 되어야 다름 코드가 동작해 기다려야하 한다는 단점이 있다.
비동기 는 앞선 코드의 동작이 완료되는 것을 기다리지 않고 다른 코드의 작업을 실행 할 수 있지만 동기 코드에 비해 코드가 복잡한 단점이 있다.
비동기는 위와 같은 단점으로 콜백 헬 이란 문제가 발생할 수 있다.
콜백 헬이란 코드의 가독성과 유지보수가 어려운 상황을 말하는 것으로 주로 중첩된 콜백 함수를 사용하여 비동기 작업을 처리하는 과정에서 발생한다.