Last updated: Nov 15, 24 04:26 UTC | Permalink
6 - Concurrency Patterns in Typescript
Learning Objectives:
A 1 GHz CPU executes an instruction every 1 ns. Almost anything else takes approximately forever. Rather than waste time waiting for a long-running operation to complete, we want our programs to make progress on other tasks. This is called “masking latency with concurrency”.
In this lecture, we will study some common patterns for organizing concurrency in Typescript/Javascript.
By the end of this lesson, you should be prepared to:
- Explain the difference between JS run-to-completion semantics and interrupt-based semantics.
- Given a simple program using async/await, work out the order in which the statements in the program will run.
- Write simple programs that create and manage promises using async/await
- Write simple programs to mask latency with concurrency by using non-blocking IO and Promise.all in TypeScript.
Important Dates:
- Team Formation Due September 25, 2024 by 12pm (noon)
Lecture Slides:
- Concurrency Patterns in Typescript Slides PDF, PPT