Talk

Making sense of concurrency in Python 3.14

Thursday, May 28

11:45 - 12:15
RoomTortellini
LanguageEnglish
Audience levelIntermediate
Elevator pitch

Python 3.14 gives us additional choices to write concurrent programs. This talk conveys a mental model for reasoning about async/await, threads, interpreters, and multiprocessing. It provides a decision framework which ones to pick and showcases how different concurrency models can be used together.

Abstract

Async/await, threads, subinterpreters, and multiprocessing—Do you know when to use which?

Python 3.14 made subinterpreters available in the standard library and marked free-threaded Python as officially supported. This gives us a wider choice of concurrency mechanisms—but also more tradeoffs to consider.

This talk develops a mental model in which the differences between Python’s concurrency mechanisms become apparent. Attendees will learn how to reason about async/await, threads, subinterpreters, and multiprocessing. They will be able to assess which approach to pick for a given problem, and how to combine concurrency models effectively in Python applications.

TagsPerformance and scalability techniques, Python language features
Participant

Michael Seifert

Michael is a trainer and consulting software engineer who helps product teams develop Python software in the cloud. He enjoys deleting code more than writing it and is constantly looking for new ways to improve developer experience and the maintainability of software.

Michael has been enthusiastic for free and open-source software since his teenage years and published his first project in 2006. Nowadays, he maintains the pytest-asyncio library. In his free time, Michael dances Shuffle or struggles with a hardware project.