Programming Throwdown

Patrick Wheeler and Jason Gauci

Download Audio File

184: Asynchronous Programming

Intro topic: AI Scams

News/Links:

Book of the Show


Tool of the Show

Topic: Asynchronous Computing

  • What/Why
    • Multi-threading in between the lines
    • Many of the benefits of multiprocessing without the overhead/complexity
  • How
    • Coroutines
    • Thread-Local Memory
    • Blocking vs Non-Blocking operations
      • Blocking: arithmetic
      • Non-Blocking: Reading from the network card into thread-local memory
    • Interpreter locking
      • Typescript: Single threaded
      • Python: GIL
  • Implementations
    • Polling (not-Asynchronous)
    • Callbacks (interrupts)
    • Multithreading (with queues/message passing)
    • Promise/Futures
    • Async/Await