Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Concurrent and Parallel Programming in Python

Packt via Coursera

Overview

Dive into the world of concurrent and parallel programming with this detailed course designed for Python developers. Begin with threading, learning how to create and manage threads, and progress to building complex systems with threading classes. Explore practical projects like creating a Wikipedia reader and a Yahoo Finance reader, mastering the use of queues, schedulers, and database integration. Advance to multiprocessing, understanding how to leverage multiple CPU cores for enhanced performance. Learn to implement multiprocessing queues and pools, handle multiple arguments, and optimize CPU-intensive tasks. Finally, delve into asynchronous programming, mastering async tasks, timeouts, and libraries. Combine asynchronous and multiprocessing techniques for robust and scalable applications. This course provides a thorough understanding of concurrent and parallel programming, preparing you to tackle real-world challenges and optimize your Python applications for performance and efficiency. This course is ideal for Python developers, software engineers, and data scientists who want to enhance their skills in concurrent and parallel programming. A basic understanding of Python is recommended.

Syllabus

  • Threading
    • In this module, we will delve into the fundamentals of threading in Python. We'll start with an introduction to threading, multiprocessing, and asynchronous programming concepts. Then, we will explore the creation and management of threads, develop practical applications like a Wikipedia reader and Yahoo Finance reader, and integrate advanced features such as queues, schedulers, and locking mechanisms to optimize our concurrent and parallel programming skills.
  • Multiprocessing
    • In this module, we will explore the powerful capabilities of multiprocessing in Python. We'll begin with an introduction to the core concepts and advantages of using multiprocessing. Next, we will dive into practical implementations, including the use of multiprocessing queues, pools, and advanced techniques for handling multiple arguments and tasks. Finally, we will cover methods for efficiently processing and checking elements in lists within specific ranges, ensuring optimal performance in concurrent and parallel programming tasks.
  • Asynchronous
    • In this module, we will cover the essentials of asynchronous programming in Python. We'll start with an introduction to writing asynchronous programs and managing asynchronous tasks. You'll learn to use the async gather method and implement timeouts for handling multiple asynchronous operations effectively. We will also explore creating asynchronous for loops and using various asynchronous libraries. Finally, we'll delve into combining asynchronous programming with multiprocessing to achieve the highest level of concurrency and performance in your Python applications.

Taught by

Packt

Reviews

Start your review of Concurrent and Parallel Programming in Python

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.