
공통점
- 함수, 네트워크 관련 작업 (서버 통신)등 어떠한 작업을 하기 위해 동작하는
프로그래밍 모델입니다.
동기식 프로그래밍
특징
다음 작업이 시작되기 전에 한 작업이 완료되어야 합니다.
장점
1. 동기식 앱은 표준입니다.
→ 개발자는 프로그래밍 여부에 대해 걱정할 필요가 없습니다.
2. 작성하기 쉽고 프로세스 흐름을 추적하고 측정할 필요가 없습니다.
단점
1. 수많은 요청과 함수가 있을시
동기식 프로그래밍은 비동기식 프로그래밍보다 로딩 시간이 더 느릴 수 있습니다.
2. 스레드가 잠기면 연속된 후속 스레드도 중지됩니다.
동기프로그래밍 → 매직패스 없이 주말에 롯데월드 가기
DB Query와 같이 시간이 많이 걸리는 작업 (300줄 ~ 500줄)
→ 동기 작업이 한 번에 하나씩 발생하기 때문에, 중간에 다른 모든 스레드를 중지합니다.
스레드 : 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위
비동기식 프로그래밍
특징
첫 작업이 완료되길 기다리지 않고 여러 작업을 동시에 작업
장점
유연성 및 예외처리 향상
여러 작업을 동시에 실행할 수 있습니다.
→ 오류에 대한 응답으로 콜백 메서드를 작성하는 것이 필요
애플리케이션 속도를 높이거나 애플리케이션의 신뢰성을 높이는 데 있어 상당한 이점이 될 수 있습니다.
단점
콜백 및 재귀 함수에 대한 심층 지식이 있어야 합니다.
페이지 새로 고침은 동기식 프로그래밍보다 빠르지만, 페이지의 초기 렌더링에는 시간이 걸릴 수 있습니다.
페이지 렌더링 : 사용자가 웹 사이트를 방문할 때 보게 되는 대화형 페이지로 바꾸는 웹 개발에 사용되는 절차
'Computer Science🔎' 카테고리의 다른 글
[CS] 네트워크 통신 @GET, @POST 차이 (0) | 2022.06.28 |
---|---|
[CS] 오픈 소스와 오픈 API (0) | 2022.06.11 |
[CS] Override, Overload 차이점 (0) | 2022.05.28 |
[CS] MVP 패턴 - (Model View Presenter) (0) | 2022.05.28 |