Last updated: May 01, 24 18:34 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:

Lecture Slides:

Activities:

Resources


© 2024 Jon Bell, Adeel Bhutta and Mitch Wand. Released under the CC BY-SA license