금방 쓰고 버릴게 아니라면 프로그램이 돌아가게끔 빨리 만드는게 중요한게 아니라
운영시점에서 성능이나 심각한 오류 사항이 발생이 안하도록 초기에 진단해서 잡는게 좋지 않을까??
싱글 쓰레드라고 하면 한번에 하나의 작업만 수행하는 것인데 자바스크립트로 만든 웹 사이트를 보면 여러 요청이 오가는 경우가 많은데 왜? 자바스크립트는 싱글 쓰레드 방식인가?
싱글 쓰레드로 어떻게 한번에 여러 요청을 처리 하는지??
비동기 작업을 통해 여러 요청들을 처리함
Call Stack : 자바스크립트에서 수행해야 할 함수들을 순차적으로 처리하는 공간
Web API : 웹 브라우저에서 제공하는 API로 AJAX나 Timeout 등의 비동기 작업을 실행
Task Queue : Web API에서 넘겨받은 CallBack 함수를 저장
Event Loop : Call Stack 비어있다면 Task Queue의 작업을 Call Stack으로 옮긴다.
자바스크립트는 왜? 멀티 쓰레드가 아니라 싱글 쓰레드 방식을 사용하는가?
멀티 쓰레드인 경우 동시성 문제 발생 --> 동시성 문제가 발생하는게 웹사이트에 얼마나 큰 문제를 일으키는가??
넥사크로 ---> 비동기 방식으로 돌아가는 건가??
'프로그래밍 언어' 카테고리의 다른 글
실수 자료형 (0) | 2022.03.20 |
---|---|
자료형 (0) | 2022.03.19 |
자바에서 지역변수가 초기화 되지 않는 이유? (0) | 2022.03.02 |
자바스크립트 입문 1 (async,defer) (0) | 2021.05.20 |
websocket (0) | 2021.03.16 |