Overview
Explore the world of asynchronous programming in Python with this comprehensive conference talk. Dive into the asyncio module introduced in Python 3.4 and learn about its key components, including futures, tasks, protocols, transports, and event loops. Discover how Python 3.5's async and await keywords simplify coroutine-based programming, and examine the additional asynchronous features added in Python 3.6. Through practical examples and demonstrations, gain insights into solving concurrency problems effectively using asyncio. Understand the Lucas sequence, cooperative linear search, primality testing, and coroutine delegation. Explore the differences between coroutines and coroutine objects, learn to create and manage tasks, and grasp the concept of event loops. Acquire valuable knowledge on testing asynchronous Python code and refactoring techniques. By the end of this 59-minute talk, master the fundamentals of asyncio and enhance your Python programming skills for handling concurrent operations efficiently.
Syllabus
Intro
What is asyncio anyway?
Definitions #1
The Lucas sequence
A linear search
Cooperative linear search
A primality testing function
Filter and print coroutine
Print a message at intervals
Delegating to coroutines
Refactoring - extract coroutine
Coroutines versus Coroutine Objects
Creating Tasks
Waiting for tasks
Event loops
Round-robin scheduler
Layered abstractions for asyncio
Taught by
NDC Conferences