Mastering Concurrency in Python
eBook - ePub

Mastering Concurrency in Python

Create faster programs using concurrency, asynchronous, multithreading, and parallel programming

  1. 446 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Mastering Concurrency in Python

Create faster programs using concurrency, asynchronous, multithreading, and parallel programming

About this book

Immerse yourself in the world of Python concurrency and tackle the most complex concurrent programming problems

Key Features

  • Explore the core syntaxes, language features and modern patterns of concurrency in Python
  • Understand how to use concurrency to keep data consistent and applications responsive
  • Utilize application scaffolding to design highly-scalable programs

Book Description

Python is one of the most popular programming languages, with numerous libraries and frameworks that facilitate high-performance computing. Concurrency and parallelism in Python are essential when it comes to multiprocessing and multithreading; they behave differently, but their common aim is to reduce the execution time. This book serves as a comprehensive introduction to various advanced concepts in concurrent engineering and programming.

Mastering Concurrency in Python starts by introducing the concepts and principles in concurrency, right from Amdahl's Law to multithreading programming, followed by elucidating multiprocessing programming, web scraping, and asynchronous I/O, together with common problems that engineers and programmers face in concurrent programming. Next, the book covers a number of advanced concepts in Python concurrency and how they interact with the Python ecosystem, including the Global Interpreter Lock (GIL). Finally, you'll learn how to solve real-world concurrency problems through examples.

By the end of the book, you will have gained extensive theoretical knowledge of concurrency and the ways in which concurrency is supported by the Python language

What you will learn

  • Explore the concepts of concurrency in programming
  • Explore the core syntax and features that enable concurrency in Python
  • Understand the correct way to implement concurrency
  • Abstract methods to keep the data consistent in your program
  • Analyze problems commonly faced in concurrent programming
  • Use application scaffolding to design highly-scalable programs

Who this book is for

This book is for developers who wish to build high-performance applications and learn about signle-core, multicore programming or distributed concurrency. Some experience with Python programming language is assumed.

Tools to learn more effectively

Saving Books

Saving Books

Keyword Search

Keyword Search

Annotating Text

Annotating Text

Listen to it instead

Listen to it instead

Information

Table of contents

  1. Title Page
  2. Copyright and Credits
  3. Dedication
  4. About Packt
  5. Contributors
  6. Preface
  7. Advanced Introduction to Concurrent and Parallel Programming
  8. Amdahl's Law
  9. Working with Threads in Python
  10. Using the with Statement in Threads
  11. Concurrent Web Requests
  12. Working with Processes in Python
  13. Reduction Operators in Processes
  14. Concurrent Image Processing
  15. Introduction to Asynchronous Programming
  16. Implementing Asynchronous Programming in Python
  17. Building Communication Channels with asyncio
  18. Deadlocks
  19. Starvation
  20. Race Conditions
  21. The Global Interpreter Lock
  22. Designing Lock-Based and Mutex-Free Concurrent Data Structures
  23. Memory Models and Operations on Atomic Types
  24. Building a Server from Scratch
  25. Testing, Debugging, and Scheduling Concurrent Applications
  26. Assessments
  27. Other Books You May Enjoy

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn how to download books offline
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 990+ topics, we’ve got you covered! Learn about our mission
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more about Read Aloud
Yes! You can use the Perlego app on both iOS and Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app
Yes, you can access Mastering Concurrency in Python by Quan Nguyen in PDF and/or ePUB format, as well as other popular books in Computer Science & Parallel Programming. We have over one million books available in our catalogue for you to explore.