카테고리 없음
동기 프로그래밍 VS 비동기 프로그래밍 (1분 정리)
노란배추잎
2024. 8. 21. 20:02
동기적 수행
동기적으로 수행한다. 하는 것은 한번에 하나씩 순서대로 처리하는 것을 의미한다.
1번 작업이 끝나면 다음 작업을 실행을 한다. 순차적으로 작업을 하는 것을 의미한다. 작업1이 끝나지 않으면 작업2가 실행이 되지 않는다는 의미이다.
동기 프로그래밍
코드가 동기적으로 작동을 하는 것을 말한다. 코드 한줄이 완료가 되어야 다음 코드가 작동을 하는 것을 말한다. 예를 들어 javascript 언어는 동기적으로 실행이 된다.
동기프로그래밍은 편리하기에 동기 프그래밍에 익숙하다. 하지만 동기 프로그래밍 역시 단점이 존재한다.
http 요청등 오래걸리는 작업을 하는 경우 코드가 작동을 마칠때까지 아래의 코드가 작동을 하지 않는 blocking 이라는 현상이 발생을 하게 된다. 우리는 비동기 프로그래밍이라는 것을 통해서 이러한 문제를 해결을 할 수 가 있다.
비동기 프로그래밍
코드를 비동기 적으로 수행을 하는 것을 의미한다. 비동기 적으로 수행을 한다는 것은 해당 작업이 끝날때까지 기다리지 않고 바로 다음 작업으로 넘어가는 것을 말한다.
예를들어 작업1이 오래걸리게 되면 작업 1이 수행을 하는 동안에 작업2 작업 3등을 순차적으로 수행을 하고 작업1이 수행이 되면 콜벡 함수를 사용을 해서 작업1을 작동을 하게 만든다. 예컨데 settimeout 함수가 있다.