Asynchronous Programming in Python

  • Basic

  • 22 lessons

  • 11 hour

Learn to write asynchronous Python code and work with tasks, threads, and processes for backend services.

Course overview

This course explains asynchronous programming in Python through practice: coroutines, await, tasks, timeouts, cancellation, and asyncio queues. You will study threads, processes, data races, and how to choose the right execution model. In the final project, you will build a small backend service with limits, timeouts, and automated tests.

You will learn
  • Write coroutines and manage asyncio tasks

  • Limit execution time and cancel tasks safely

  • Protect data when working with threads

  • Choose between async, threads, and processes

Table of contents

Async Theory in Python

Practice

First Event Loop

Practice

Coroutines and Await

Practice

Tasks with create_task

Practice

Collecting Task Results

Practice

Coroutine Errors

Practice

Operation Timeouts

Practice

Task Cancellation

Practice

Waiting for Task Groups

Practice

Asyncio Queues

Practice

Semaphores and Limits

Practice

Async Context Manager

Practice

Async Iterator

Practice

Debugging Async Code

Practice

ThreadPoolExecutor

Practice

asyncio.to_thread

Practice

Race Conditions

Practice

Lock and Safety

Practice

Threads and Queues

Practice

ProcessPoolExecutor

Practice

Data Between Processes

Practice

Async and Process Pool

Practice

  • image-loading

  • image-loading

  • image-loading

  • image-loading

Frequently Asked Questions

A subscription to the platform gives you unlimited access to all courses, as well as access to an online trainer with practical exercises.

Additionally, with a Premium subscription or higher, you also get access to all pet projects and the opportunity to take technical interviews with an AI mentor.

You can cancel your subscription at any time, and you will still have access to the platform for the paid period. You can do this through your personal account in the 'Subscription Management' section.

Yes, you can upgrade to a new plan at any time. We will provide a discount based on the unused time of your current plan. You can change your plan in your personal account.

To request a refund for a paid plan, please contact us at support@upshell.io. We will process your refund for the unused portion of your subscription within 5 business days.

Get access to 23+ courses for backenders with Subscription

Get access to *23+ courses* for backenders with *Subscription*
Have an account?