Runtime Execution, State Control, Flow Control, Sync & Async

2021. 6. 17. 13:35·과거
목차
  1. Runtime Execution
  2. State Control
  3. Directive Reference
  4. Indirective Reference
  5. Flow Control
  6. Sync flow control
  7. Sync & Async
반응형
Program & Timing JavaScript Timing
Language code (Lint & IDE) ES2021, TypeScript (Lint & IDE)
Machine language (Compile) Transpiler (Compile)
File File & deploy
Load Browser load (Browser), Browser parsing (Compile)
Run (Runtime) Run (Runtime)
Terminate Browser close

Runtime Execution


폰 노이만 구조
컴파일 언어 Runtime Details
자바스크립트 Runtime Details

 


State Control


Directive Reference

b와 c가 같은 레퍼런스 참조
b와 c가 다른 레퍼런스 참조


Indirective Reference

b와 c가 target을 통해 a 참조
b를 통해 target을 바꿔도 b와 c는 같은 값 참조

런타임에 추가적인 메모리 연산을 함으로써 참조간의 컨텍스트가 깨지지 않게 함

Flow Control


Sync flow control

Sync Flow : 메모리에 적재된 명령이 순차적으로 실행됨

Sync Flow Control : Goto를 통해 명령의 위치를 이동함

Sub Flow : 함수 등을 통해 별도의 명령셋을 여러번 실행함

Blocking : Sync Flow가 실행되는 동안 다른 일을 할 수 없는 현상

Blocking 줄이기

 

sync flow를 짧게 하기

다른 쓰레드에 syncflow를 떠넘기기

다른 쓰레드의 작업이 완료되면 원래 쓰레드에 보고해야함

Non Blocking : Sync Flow가 납득할 만한 시간 내에 종료되는 것


Sync & Async


Sync - 서브루틴이 즉시 값을 반환함

Async - 서브루틴이 다른 수단으로 값을 반환함

Promise, callback function, iterations

Async 단점

호출 결과가 즉시 반환되지 않으므로 현재의 sync flow가 종료됨

그 결과 현재의 어휘공간 내의 상태를 결과시점에 사용할 수 없음

요청 시의 상태를 별도로 결과시점에 전달할 부가장치 필요

Sync의 장점 + Async의 장점

sync로직으로 async를 사용할 수 있게 함

하지만 sync flow가 어긋나므로 이전 sync flow의 상태를 기억해 이어줄 장치 필요

상태를 기억하고 이어주는 장치 - Continuation

이를 활용하는 프로그래밍 스타일 - Continuation Passing Style

반응형

'과거' 카테고리의 다른 글

너 왜 코드 그렇게 짰어?  (0) 2021.07.05
Non-blocking JavaScript - 1  (0) 2021.06.17
JavaScript - 1 (Version Specifications)  (0) 2021.06.17
웹 앱, 자바스크립트  (0) 2021.06.16
윈도우 멀티태스킹 프로그램 추천 (강추)  (0) 2020.10.23
  1. Runtime Execution
  2. State Control
  3. Directive Reference
  4. Indirective Reference
  5. Flow Control
  6. Sync flow control
  7. Sync & Async
'과거' 카테고리의 다른 글
  • 너 왜 코드 그렇게 짰어?
  • Non-blocking JavaScript - 1
  • JavaScript - 1 (Version Specifications)
  • 웹 앱, 자바스크립트
optimy
optimy
See one, do one, teach one
  • optimy
    공자천주
    optimy
  • 전체
    오늘
    어제
    • All posts (27)
      • Note (4)
      • Book (0)
      • Do one (0)
      • Teach one (0)
      • 과거 (23)
  • 블로그 메뉴

    • 링크

      • github
    • 공지사항

    • 인기 글

    • 태그

      Sync & Async
      구현 패턴
      능동적 태도
      쿼티
      복사한것저장
      Runtime Execution
      창 그룹화
      이미지파일저장
      State Control
      브라우저 렌더링
      프론트엔드 개발환경
      날개셋 한글 입력기
      개발자 도구 활용
      콜맥
      캡처후저장
      details marker 제거
      version specifications
      탭 관리 프로그램
      JavaScript
      이벤트 위임
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.0
    optimy
    Runtime Execution, State Control, Flow Control, Sync & Async

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인
    상단으로

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.