Python ProcessPoolExecutor Jump-Start
Execute CPU-Bound Tasks in Parallel With Modern Process Pools
How much faster could your Python code run (if it used all CPU cores)?
The ProcessPoolExecutor class provides modern process pools for CPU-bound tasks.
This is not some random third-party library, this is a class provided in the Python standard library (already installed on your system).
This is the class you need to make your code run faster.
There's just one problem. No one knows about it (or how to use it well).
Introducing: "Python ProcessPoolExecutor Jump-Start". A new book designed to teach you modern process pools in Python, super fast!
You will get a rapid-paced, 7-part course to get you started and make you awesome at using the ProcessPoolExecutor.
- How to create process pools and when to use them.
- How to configure process pools including the number of workers.
- How to execute tasks with worker processes and handle results.
- How to execute tasks in the process pool asynchronously.
- How to query and get results from handles on asynchronous tasks called futures.
- How to wait on and manage diverse collections of asynchronous tasks.
- How to develop a parallel Fibonacci calculator 4x faster than the sequential version.
Each of the 7 lessons was carefully designed to teach one critical aspect of the ProcessPoolExecutor, with explanations, code snippets and worked examples.
Each lesson ends with an exercise for you to complete to confirm you understood the topic, a summary of what was learned, and links for further reading if you want to go deeper.
Table of Contents
Lesson 01: Processes, Executors, and Process Pools
- What is Process-Based Concurrency
- Process Pools Provide Reusable Workers
- ProcessPoolExecutor for Python Process Pools
- Welcome to the ProcessPoolExecutor Class
- When to Use the ProcessPoolExecutor
Lesson 02: Configure the ProcessPoolExecutor
- How to Configure the ProcessPoolExecutor
- How to Inspect the Default Configuration
- How to Configure the Number of Worker Processes
- How to Configure the Multiprocessing Context
- How to Configure Worker Process Initialization
Lesson 03: Execute Multiple Tasks Concurrently
- What is the map() Method
- How to Execute Tasks with One Argument
- How to Execute Tasks with Multiple Arguments
- How to Execute Tasks with No Return Values
- How to Execute Tasks with a Timeout
- How to Execute Tasks in Chunks
Lesson 04: Execute One-Off Tasks Asynchronously
- What is the submit() Method
- How to Execute a Task with One Argument
- How to Execute a Task with Multiple Arguments
- How to Execute a Task with No Arguments
- How to Execute a Task with No Return Value
- How to Execute Many One-Off Tasks
Lesson 05: Query Asynchronous Tasks
- What are Future Objects
- How to Check the Status of Future Objects
- How to Get Results From Future Objects
- How to Cancel Future Objects
- How to Add Callbacks to Future Objects
- How to Get Exceptions From Future Objects
Lesson 06: Manage Collections of Asynchronous Tasks
- What are the Module Functions
- How to Handle Results as Tasks Finish
- How to Wait for All Tasks
- How to Wait for the First Task
- How to Wait for First Task Failure
Lesson 07: Case Study Calculate Fibonacci Numbers
- How to Calculate Fibonacci Numbers Sequentially (slow)
- How to Calculate Fibonacci Numbers in Parallel (fast)
Stop copy-pasting code from StackOverflow answers.
Learn Python concurrency correctly, step-by-step.
Learn more about this book here:
How to Buy
- Click the "I want this!" button (in the upper right)
- Choose Credit Card or PayPal and complete the order form then click the "Pay" button.
- You will be redirected to a webpage where you can download your bundle immediately (you will also get an email with the download link, just in case you need it).
About the Author
Jason Brownlee, Ph.D. helps Python developers bring modern concurrency methods to their projects with hands-on tutorials.
Jason loves Python Concurrency. It's all he does. It’s his main thing.
- Read all the books on Python concurrency.
- Used all of the Python concurrency APIs in the standard library.
- Written 500+ tutorials and 12+ books on Python concurrency.
Learn more at SuperFastPython.com
Jason is a software engineer and research scientist with a background in artificial intelligence and high-performance computing. He has authored more than 20 technical books on machine learning and has built, operated, and exited online businesses.
See his linkedin profile here:
- Jason Brownlee on LinkedIn (follow him!)
Hi, Jason here, do you have any questions?
Contact me directly at any time about this product or Python concurrency generally. I'm here to help as best I can.
You can send an email directly to my inbox via:
You'll get a .zip download containing both ebook formats (pdf and epub) and all .py code files.