<description>Patrick and Jason explain asynchronous programming and how it differs from traditional multithreading and multiprocessing. They cover coroutines, blocking versus non-blocking operations, promises, callbacks, async/await, and the tradeoffs behind each approach.</description>

Programming Throwdown

Patrick Wheeler and Jason Gauci

184: Asynchronous Programming

SEP 23, 202590 MIN
Programming Throwdown

184: Asynchronous Programming

SEP 23, 202590 MIN

Description

184: Asynchronous ProgrammingIntro topic: AI ScamsNews/Links:Coding Adventure: Ray-Tracing Glass and Caustics (Sebastian Lague)https://www.youtube.com/watch?v=wA1KVZ1eOuABoson AI announces Higgs Audio V2https://www.boson.ai/technologies/voice The Misconception that Almost Stopped AI [How Models Learn Part 1] (Welch Labs)https://www.youtube.com/watch?v=NrO20Jb-hy0A mind-bending conversation with Peter Thielhttps://www.nytimes.com/2025/07/11/podcasts/interesting-times-a-mind-bending-conversation-with-peter-thiel.htmlBook of the ShowPatrickThe Hobbit (JRR Tolkien)https://amzn.to/4mevuzEJasonNYT Word GamesPatreon Plug https://www.patreon.com/programmingthrowdown?ty=hTool of the ShowPatrickEscape Academyhttps://escapeacademygame.com/enJasonMulti-modal LLMs to make calendar meetingswww.chatgpt.comTopic: Asynchronous ComputingWhat/WhyMulti-threading in between the linesMany of the benefits of multiprocessing without the overhead/complexityHowCoroutinesThread-Local MemoryBlocking vs Non-Blocking operationsBlocking: arithmeticNon-Blocking: Reading from the network card into thread-local memoryInterpreter lockingTypescript: Single threadedPython: GILImplementationsPolling (not-Asynchronous)Callbacks (interrupts)Multithreading (with queues/message passing)Promise/FuturesAsync/Await  ★ Support this podcast on Patreon ★