Concurrent and Parallel Programming in Python
Offered By: Packt via Coursera
Course Description
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 - Course Instructors
Related Courses
Conception et mise en œuvre d'algorithmes.École Polytechnique via Coursera Algorithmen und Datenstrukturen
Universität Osnabrück via iversity 数据结构与算法 Data Structures and Algorithms
Peking University via Coursera Data Structures and Algorithm Design Part I | 数据结构与算法设计(上)
Tsinghua University via edX 数据结构基础
Peking University via Coursera