Getting Started with Python Concurrency

Getting Started with Python Concurrency

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 2h 39m | 314 MB

This course will teach you how to make your Python programs faster, more efficient, and responsive. You will learn how and when to use the threading, multi-processing, concurrent.futures, and asyncio modules.

Until recently, you could speed up your programs by simply running them on newer, faster hardware. Now, instead of making CPU’s faster, hardware makers are adding more CPU cores to your computing devices. To make programs run faster today, employing concurrency techniques to get your programs running on multiple cores simultaneously is paramount. In this course, Getting Started with Python Concurrency, you’ll learn how to make your Python programs more efficient, responsive, and faster using Python’s concurrency packages. First, you’ll explore how to choose the right concurrency package for your task. Next, you’ll discover how to distribute a task to worker processes to speed up execution by running on multiple cores. Finally, you’ll cover how to do node.js style asynchronous programming using the asyncio package. When you’re finished with this course, you’ll have a solid understanding of concurrency concepts and how to apply them in Python in a simple and readable manner to achieve greater performance results.

Table of Contents

01 – Course Overview
02 – Introduction to the Course
03 – Concurrency Concepts
04 – Types of Concurrency
05 – Concurrency in Python
06 – Introduction of Demo Application
07 – Demo Code Walkthrough
08 – Module Summary
09 – Introduction to Threads
10 – Creating Threads in Python
11 – How Threads Work
12 – Thread Synchronization
13 – Inter-thread Communication Using Queues
14 – Demo – Multiple Reader Threads
15 – The Global Interpreter Lock
16 – Processes vs. Threads
17 – The Multiprocessing API
18 – Process Pools
19 – Inter-process Communication
20 – Sharing State Between Processes
21 – Process Synchronization
22 – Abstracting Concurrency Mechanisms
23 – The Executor API
24 – The Future Object
25 – Introduction to Single Threaded Asynchrony
26 – Cooperative Multitasking with Event Loops and Coroutines
27 – More Asyncio Concepts
28 – Parallel Execution of Tasks
29 – Async IO Libraries
30 – Combining Coroutines with Threads and Processes
31 – Concurrency in Python