동기와 비동기 # 1 동기와 비동기

최정환·2022년 3월 11일
0

동기와 비동기

목록 보기
1/3

🤔 동기는 뭐고 비동기는 뭘까

동기

한 작업이 실행되는 동안 다른 작업은 멈추고 자신의 차례를 기다린다.
이름에서 보면 동시에 작업하는데 왜 작업을 멈추고 기다리는게 동기인지 했지만 동작과 결과가 동시에 나와야한다는 약속의 의미로 사용한다.
따라서 시간이 얼마나 걸리든 요청에 대한 결과를 내놔야 다음으로 넘어간다.

장점
1. 설계가 매우 간단하고 직관적임
2. 유지보수 쉬움

단점
1. 결과가 나올때까지 대기해야함

console.log("a")
console.log("b")
console.log("c")

출력
/*
a
b
c
*/

비동기

어떤 요청을 보내면 그 요청이 끝날때 까지 기다리지 않고 응답과 관계없이 바로 다음 동작이 실행되는 방식
동작에 대한 결과가 동시에 나오지 않아도 괜찮다.

장점
1. 결과가 주어지기 전에 다른 작업을 할 수 있어 자원을 효율적으로 사용가능

단점
1. 동기보다 복잡
2. 동기보다 많은 비용 발생

const callback = ()=>{
console.log("a");
}

setTimeout(callback,3000);
console.log("b")
console.log("c")

출력
/*
b
c
..3초 후
a
*/

0개의 댓글