Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

Concurrent and Parallel Programming in Python

via Udemy

Overview

Speed up your programs with concurrency

What you'll learn:
  • How to use concurrency and parallelism in Python
  • How to write multi-threaded programs
  • How to write multi-process programs
  • How to write asynchronous programs

In this course you'll learn how to create multi-threaded, asynchronous, and multi-process programs in Python, so that you can make your programs run even faster.


In applications communicating with other resources, a lot of time is spent just waiting for information to be passed from one place to another. You'll learn how to use multi-threading as well as asynchronous programming to speed up programs that are heavily bottlenecked by IO operations.


We'll go through an introduction first of where potential speed bottlenecks come from as well as how we could solve these issues, and then we'll dive directly into the technical content and build out a multi-threaded program together that grabs data from the internet, parses, and saves it into a local database.


Other programs may be more heavily affected by CPU limitations. We'll also learn how to implement multiprocessing in Python, the library that lets us use multiple CPUs in our Python code. With this we'll be able to spread our workload over all the cores available on the machine we're using.


Finally, we'll also look to combine both elements, taking a look at how we can use multiprocessing together with asynchronous programming to get the most benefit for yourself, maximizing your use of CPU resources and minimizing time spent siting idle waiting for IO response.


You can find the lecture code in the GitHub repository linked in the first lesson.

Taught by

Max S

Reviews

4.4 rating at Udemy based on 473 ratings

Start your review of Concurrent and Parallel Programming in Python

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.