일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 날개셋 한글 입력기
- 이벤트 위임
- 절차 지향과 객체 지향
- 프론트엔드 개발환경
- 개발자 도구 활용
- 쿼티
- Sync & Async
- details marker 제거
- static 키워드
- JavaScript
- 창 그룹화
- 글자 지우기
- 브라우저 렌더링
- olkb
- Paste Into File
- 자소 단위 삭제 해제
- Runtime Execution
- State Control
- 글자 단위 삭제
- version specifications
- 오버로딩과 오버라이딩
- 프리오닉
- super 메소드
- 탭 관리 프로그램
- 영수증 가계부
- colemak
- 구현 패턴
- ortholinear
- 콜맥
- 복사한것을파일로
Archives
- Today
- Total
What got you here won't get you there
Runtime Execution, State Control, Flow Control, Sync & Async 본문
Computer Science
Runtime Execution, State Control, Flow Control, Sync & Async
optimy 2021. 6. 17. 13:35Program & 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
State Control
Directive Reference
Indirective Reference
런타임에 추가적인 메모리 연산을 함으로써 참조간의 컨텍스트가 깨지지 않게 함
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
Comments