자바스크립트 언어는 단일스레드 언어라고 알고있었는데 어떻게 비동기처리를 진행하는지, setTimeout 같은 함수에서 그 시간을 세는 주체는 누구인지 등에 대해서 궁금해서 이리저리 질문하고 검색을 해서 알아보았는데,
답변을 꽤 괜찮게 주는 블로그를 발견하였고, 그와 관련되어 있는 질문들에 대해서 gpt에서 제시해준 답변에 대해서 첨부해보겠다.
내가 첨부한 블로그 글에서도 물론 잘못된 부분이 있을수도 있을 수 있고, gpt의 답변에서도 잘못된 부분이 있을 수 있는데, 개략적으로 현재 내가 가지고 있던, 단일스레드 언어인 자바스크립트를 통해서 어떻게 백그라운드에서 동시에 다른 동작들을 수행하는지, 그 백그라운드 라는것이 무엇인지에 대해서는 결국 멀티쓰레드를 지원하는 언어로 작성된 브라우저 혹은 node.js 환경이라는 것을 알게 되었다.
https://inpa.tistory.com/entry/%F0%9F%8C%90-js-async
🌐 자바스크립트의 핵심 '비동기' 완벽 이해 ❗
자바스크립트의 동기와 비동기 자바스크립트는 싱글 스레드 언어이기 때문에 한 번에 하나의 작업만 수행할 수 있다. 즉, 이전 작업이 완료되어야 다음 작업을 수행할 수 있게 된다. 우리가 프
inpa.tistory.com
🔄 자바스크립트 이벤트 루프 동작 구조 & 원리 끝판왕
자바스크립트 비동기와 이벤트 루프 브라우저의 멀티 스레드로 작업을 동시에 Javascript는 싱글 스레드 언어라고 들어본 적이 있을 것이다. '싱글' 스레드라 한 번에 하나의 작업만 수행이 가능하
inpa.tistory.com
일단 단일스레드 언어인 자바스크립트에서 어떤식으로 다른 동작을 동시에 시행시키는 것인지에 대한 의문은, 자바스크립트를 통한 것이 아닌, 다른 언어로 작성된 프로그램을 통해서 ( 이 경우 브라우저 혹은 node.js 환경일 것. chrome은 c++, node.js는 c++ 와 c? ) 이루어지는 동작이라는 것을 알았고 이정도 선까지 공부하고 다시 자바스크립트와 웹 개발관련 내용들을 따라가야겠다. 다음에 의문이 다시 깊어질때 위에 첨부한 블로그에서 두번째 글을 더 자세하게 읽어보도록 하자.
위에 첨부한 인파 라는 사람의 블로그를 두가지 글을 보면서 접해보았는데, 꽤나 시각적인 자료들을 활용해서 도움이 될만한 글들을 많이 남기신 분인것 같다. 다음에 시간을 들여서 한번 흥미로워 보이는 내용들의 글을 읽어보도록 하자.
'크래프톤 정글 > 자바스크립트' 카테고리의 다른 글
자바스크립트 객체 작성 방법과 json 의 형태에 관하여. (0) | 2023.08.04 |
---|---|
워드클라우드 사용을 위한 D3와 D3-cloud, 그 외 여러가지 참고사항에 대한 모음글(아직 정리되지 않음) (0) | 2023.07.09 |
constructor와 setter가 헷갈려서 검색해본 구분점. (0) | 2023.07.06 |