-
동기와 비동기란 무엇일까?개발/두서없이 공부한 개발공부 2023. 9. 4. 07:50728x90반응형
흠.. 면접 때 질문했던 주제 중 하나인 동기와 비동기이다.
대답하지 못했다. 근데 이걸 처음 접한 건 아니다.
그냥 대답하지 못한 거다.
그냥 공부를 안 했다고 하자. 멍청한 놈!!@!@!@
동기 synchronous 란?
데이터의 요청과 결과가 한자리에서 일어나는 걸 말한다고 한다.
일단 실행하면 이건 컴퓨터가 터지는 일이 있어도 다음단계로 넘어가지 못한다.
시킨 업무를 완수해야 다음 문장으로 넘어갈 수 있다.
답을 주지 않으면 그냥 컴퓨터는 다른 일을 할 수 없는 것이다.
비동기 Asynchronous 란?
요과 결과가 동시에 일어나지 않는 것을 비동기라고 한다.
한마디로 일단 이거대로 진행하고 결과가 나오지 않더라도 다른 작업이 가능한 것이다.
병행작업이 가능하다 고 보면 될 것 같다.
내가 비동기 이것 때문에 문제가 터졌었다.
서버에서 요청을 하고 받아오지 않았는데 다음 코드가 작동해 버려서 데이터가 없는데 실행하려고 해서 Error가 계속 뜬 기억이 난다.
하지만 이때는 그냥 비동기? 이게 뭐야? 하고 대충 에러만 잡고 넘어가버렸다.
음.. 이제부터는 에러이유를 명확히 파악하고 글을 써야겠다.
그럼 코드로는 어떻게 표현될까?
동기 synchronous
fuction num1(){ console.log("첫번째 출력이다 이놈아!") num2(); } fuction num2(){ console.log("두번째 출력이다 이놈아!") num3(); } fuction num3(){ console.log("세번째 출력이다 이놈아!") num3(); } num1(); //첫번째 출력이다 이놈아! //두번째 출력이다 이놈아! //세번째 출력이다 이놈아!
비동기 Asynchronous 란?
function num1(){ console.log('num1'); num2(); } function num2(){ setTimeout(function(){ console.log('num2'); }, 0); num3(); } function num3(){ console.log('num3'); } func1(); /* 실행결과 num1 num3 num2 */
일단 글작성은 여기까지 다음 글에서 이어서 하겠다.
728x90반응형'개발 > 두서없이 공부한 개발공부' 카테고리의 다른 글
프론트엔드 기술 면접 질문 리스트(라**) (1) 2024.09.07 Next.js Vs React 둘은 무엇일까? (0) 2023.11.22 npx react-create-app 실행이 안돼요! (0) 2023.08.07 SEO란 무엇일까? (1) 2023.08.06 Redux란 무엇인가? (0) 2023.05.28