Mastering Concurrency in Python
This is the code repository for Mastering Concurrency in Python, published by Packt.
Create faster programs using concurrency, asynchronous, multithreading, and parallel programming
What is this book about?
Python is one of the most popular programming languages out there, with numerous libraries and frameworks that facilitate high-performance computing. While concurrency and parallelism in Python behave differently than those in other programming languages, it is still in every way possible to implement Python programs that run concurrently or in parallel and make a significant improvement in execution time. Mastering Concurrency in Python serves as a comprehensive introduction to various advanced concepts in concurrent engineering and programming.
This book covers the following exciting features:
- Understand the idea of concurrency in programming and relevant concepts such as queues, threads, parallelism.
- Explore the core syntax and language features that enable concurrency in simple Python problems, namely through concurrent, multiprocessing, asyncio.
- Understand correct way to implement concurrency
- Abstract methods to keep the data consistent and application non-blocking, responsive, and reliable.
- Analyze problems commonly faced in concurrent programming. Utilize application scaffolding to design highly scalable programs that are deeply rooted in goroutines and channels.
If you feel this book is for you, get your copy today!
Instructions and Navigations
All of the code is organized into folders. For example, Chapter01.
The code will look like the following:
async def main(url): async with aiohttp.ClientSession() as session: await download_html(session, url)
Following is what you need for this book: If you're a developer familiar who's and you Python who want to learn to build high-performance applications that scale by leveraging single-core, multi-core, or distributed concurrency, then this book is for you.
With the following software and hardware list you can run all code files present in the book (Chapter 1-19).
Software and Hardware List
|Chapter||Software required||OS required|
|All chapters||Python 3.6 or above||Windows, macOS, and Linux|
|All chapters||A Python Integrated Development Environment (IDE)||Windows, macOS, and Linux|
|5||The requests module (Version 2.19 or above)||Windows, macOS, and Linux|
|8||NumPy (Version 1.15 or above)||Windows, macOS, and Linux|
|8||OpenCV (Version 3.4 or above)||Windows, macOS, and Linux|
|11||Telnet||Windows, macOS, and Linux|
|11||The aiohttp module (Version 3.4 or above)||Windows, macOS, and Linux|
|11||The aiofiles module (Version 0.4 or above)||Windows, macOS, and Linux|
|19||APScheduler (Version 3.5.3 or above)||Windows, macOS, and Linux|
We also provide a PDF file that has color images of the screenshots/diagrams used in this book. Click here to download it.
Get to Know the Author
Quan Nguyen is a Python enthusiast and data scientist. He is currently a data analysis engineer at Micron Technology, Inc. With a strong background in mathematics and statistics, Quan is interested in the fields of scientific computing and machine learning. With data analysis being his focus, Quan also enjoys incorporating technology automation into everyday tasks through programming.
Quan's passion for Python programming has led him to be heavily involved in the Python community. He started as a primary contributor for the book Python for Scientists and Engineers and various open source projects on GitHub. Quan is also a writer for the Python Software Foundation and an occasional content contributor for DataScience.com (part of Oracle).
Suggestions and Feedback
Click here if you have any feedback or suggestions.