(and run 100s or 1,000s of tasks simultaneously)
The threading module provides easy-to-use thread-based concurrency in Python.
Unlike Python multiprocessing, the threading module is limited by the infamous Global Interpreter Lock (GIL).
Critically, the GIL is released when performing blocking I/O. Additionally, threads can share memory making them perfectly suited to I/O-bound tasks such as reading and writing from files and socket connections.
This is the API you need to use to make your code run faster.
Introducing: "Python Threading Jump-Start". A new book designed to teach you the threading module in Python, super fast!
You will get a rapid-paced, 7-part course to get you started and make you awesome at using the threading API.
Each of the 7 lessons was carefully designed to teach one critical aspect of the threading module, with explanations, code snippets and worked examples.
You will discover:
* How to choose tasks that are well suited to threads.
* How to create and run new threads.
* How to locate and query running threads.
* How to use locks, semaphores, barriers and more.
* How to share data between threads using queues.
* How to execute ad hoc tasks with reusable worker threads.
* How to gracefully stop and forcefully kill threads.
Each lesson ends with an exercise for you to complete to confirm you understand the topic, a summary of what was learned, and links for further reading if you want to go deeper.
Stop copy-pasting code from StackOverflow answers.
Learn Python concurrency correctly, step-by-step.
Jason Brownlee, Ph.D. helps Python developers bring modern concurrency methods to their projects with hands-on tutorials. Learn more at https://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.