개발놀이터

면접 준비 : 동기, 비동기 프로그래밍 본문

CS 지식/면접준비

면접 준비 : 동기, 비동기 프로그래밍

마늘냄새폴폴 2023. 3. 19. 03:39

Q. 동기, 비동기 프로그래밍에 대해서 설명해주세요.
A. 동기 프로그래밍은 싱글스레드, Blocking Architecture로 대표되는 프로그래밍으로 요청을 보내면 그에 상응하는 응답이 올때까지 기다린다는 특징이 있습니다. 따라서 속도가 좀 느리고, 확장성이 낮다는 단점이 있지만 개발자 친화적이고, 메모리를 적게 먹으며, 오버헤드가 발생하지 않는다는 장점이 있습니다. 비동기 프로그래밍은 멀티 스레드, Non-Blocking Architecture로 대표되는 프로그래밍으로 요청과 응답이 각각 다른 스레드에 할당되어 응답을 기다리지 않아도 된다는 특징이 있습니다. 그렇기 때문에 속도가 빠르고, 확장성이 높다는 장점이 있지만 구현하기 까다롭고, 메모리를 많이 잡아먹으며, 오버헤드가 발생한다는 단점이 있습니다.