Thread -> taskA -> taskB -> tasckC
자바스크립트 코드가 작성된 순서대로 작업을 처리한다.
이전 작업이 진행 중 일때는 다음 작업을 수행하지 않고 기다린다.
먼저 작성된 코드를 다 실행하고 나서 뒤에 작성된 코드를 실행한다.(사진첨부)
동기화의 단점 => 하나의 작업이 오래 걸리면 모든 작업이 오래 걸리며,
하나의 작업이 종료되기 전 까지 작동을 하지 않아서 전반적인 흐름이 느려진다.
MultiThread 방식으로 Thread를 여려개 사용하는 방식으로 작동시키면 작업 분할이 가능하지만 Javascript는 싱글 Thread로만 동작한다.
setTimeout이라는 시간을 두고 작업을 시켜 기다리지 않고 작업한다.
javascript특성 상 싱글 Thread만 사용 가능 해 비동기화의 형식을 이용해 순서대로가 아닌 TaskB,taskC,taskA의 결과 순서대로 출력하게 하였다. setTimeout으로 시간의 차이를 주었기 때문이다.