✊ 필오의 개발일지
Back to Posts
2019년 11월 10일

코드스피츠85 2회-(1) 자바스크립트의 동시성

코드스피츠85 2회-(1) 자바스크립트의 동시성

코드스피츠 85에서는 none blocking에 대한 이야기와 자바스크립트를 짜는 근본적인 방법에 대한 고찰을 이야기해본다.


🌕🌑🌑

TL;DR


Concurrency 동시성

1. Parallelism 병행성,병렬성

1.1 예시_프론트에서 발견할 수 있는 병렬 처리는?

1.2 핵심은

1.3 메모리의 개념과 함께 생각해보자

각각의 테스크가 같은 메모리를 바라볼 경우 문제가 생긴다. 즉, 동시성은 같이 쓰는 메모리를 어떻게 할지가 가장 어렵다.

  1. Blocking으로 해결한다.
  1. 자바스크립트에서 동시성은..
  1. 프로그래밍 패러다임 중

2. Concurrency

동시성에서 우리가 일을 시킬 수 있는 워커는 하나다.

  1. A에서 일을 조금 하고,
  2. A에 마킹을하고
  3. B에 가서 작업을 한다.

2.1 현실세계의 동시성

2.2 자바스크립트의 동시성

자바스크립트 엔진을 동시성 모델로 표현해보자.

  1. engine work: 브라우저 엔진은 초기 작업을 진행한다.
  1. queue를 체크한다. (ex. 이벤트 루프)
  1. 콜백을 실행한다.

이벤트 루프와 테스크 큐의 관계

브라우저가 갖고 있는 다른 thread

  1. network: ajax 요청때 사용

  2. timer

    • setTimeout, setInterval
    • 현재의 크롬은 타이머를 처리하는 별도 스레드를 갖고있다.
  3. message

    • window.postmessage , localstrage-sessionstorage 간의 메세지 등등
    • 브라우저 통신 메세지
  4. dom event



참고자료

Previous코드스피츠85 2회-(2) 동시성 모델을 직접 구현하며 이해하기.
Next코드스피츠85 1회-(2) Runtime때 일어나는 일들

Related

© 2025 Felix