Last updated: Dec 13, 23 17:42 UTC | Permalink

5 - 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 how to achieve concurrency through asynchronous operations and Promise.all in TypeScript.
  • Write asynchronous and concurrent code in TypeScript using async/await and Promise.all.
  • Explain the difference between JS run-to-completion semantics and interrupt-based semantics.

Important Dates:

  • Team Formation Survey Due Wednesday Sep 27 by 11am

Lecture Slides:

Activities:

Resources


© 2023 Adeel Bhutta and Mitch Wand. Released under the CC BY-SA license