모든 일을 순서대로 하나씩 처리하는 것
순서대로 처리한다 == 이전 작업이 끝나면 다음 작업을 시작
Python 코드가 모두 동기식
요청과 응답을 동기식으로 처리한다면?
웹에서의 동기 경험하기
<body> <button>버튼</button> <script> const btn = document.querySelector('button') btn.addEventListener('click', () => { alert('you clicked me!') const pElem = document.createElement('p') // alert 확인 버튼을 누르지 않으면 안나옴 pElem.innerText = 'p Element' document.body.appendChild(pElem) }) </script> </body>
작업을 시작한 후 결과를 기다리지 않고 다음 작업을 처리하는 것(병렬적 수행)
즉, 어떤 요청 보내면 그 요청이 끝날 때까지 기다리는 것이 아니라, 응답에 관계없이 바로 다음 동작이 실행
시간이 필요한 작업들은 요청을 보낸 뒤 응답이 빨리 오는 작업부터 처리
예시) Gmail에서 메일 전송을 누르면 목록 화면으로 전환되지만 실제로 메일을 보내는 작업은 병렬적으로 뒤에서 처리됨
비동기(Asynchronous)
비동기(Asynchronous) 사용하는 이유