JS - Stack, Queue

박지환·2022년 4월 19일
0

오늘의 코딩 공부!

목록 보기
2/7

자바스크립트의 동작 원리를 이해하려면 스택(stack), 큐(queue), 힙(heap)이라는 것을 알아야한다고 하여 검색을 많이해봤다.

내가 알고 싶었던 것은 스택과 큐, 그리고 힙의 역할이다.
그런데 무슨 스택은 후입선출이라느니 큐는 선입선출이라느니 이런 내용만 있다.

회계에서 후입선출이나 선입선출 등의 역할은 재고자산의 흐름을 가정하기 위한 도구이다.
즉, 회계정보를 생성하기 위해 필요한 개념이다.

스택과 큐, 힙은 왜 존재하고 왜 그렇게 움직이는가를 알고 싶었다.

찾고 찾던 중 딱 내가 원하는 정보를 확인할 수 있는 영상을 찾았다.

이 글은 <코딩애플> 채널 「개발자 90%가 모르는 자바스크립트 동작원리 (Stack, Queue, event loop)」를 보고 정리한 글입니다.

자바스크립트의 동작원리

작성된 코드는 스택(stack)에서 순서대로 처리되는데, 즉시 처리할 수 있는 것부터 스택에서 코드가 실행되며 빠져나간다.

논리적으로 조금이라도 시간이 더 걸리는 코드들은 큐로 이동한다.
즉시 처리할 수 있는 코드들이 모두 스택에서 빠져나가서 스택이 비어있게 되면,
큐에서 순서를 기다리고 있던 코드가 스택으로 가서 실행된다.
스택이 완전히 비어있을 때만 큐에서 스택으로 코드가 이동하며, 큐에 들어온 순서대로 스택으로 이동한다.(이것이 큐가 선입선출이라는 의미인 것 같다)

*다만 항상 큐가 선입선출의 원리를 따르는 것은 아니며 중요도(가중치)를 가지고 들어온 순서와 다르게 스택으로 나갈 수도 있다.

  • 마치며

엄밀히 말하면 내가 이해한 내용과 실제 개념은 다를 수 있지만,
대략적으로는 이런 개념을 가지고 있다고 생각하고 세밀한 내용은 코딩을 더 공부해가면서 이해할 수 있을 것이라고 생각한다.
더 정확한 내용을 이해하게 되었을 때 수정을 해야할 것 같다.

profile
시작은 창대하나 끝은 미약하리라

0개의 댓글