Python Concurrent Programming: Multiprocessing in Python


Overview/Description
Expected Duration
Lesson Objectives
Course Number
Expertise Level



Overview/Description

This course is a lab-only exploration of the creation and management of processes in Python to speed up the execution of your programs. In this 10-video course, learners will use Jupyter notebooks to execute all programs demonstrated. First, you will learn how to create initialized threads, and how to do the same with processes in Python. Then you will examine different thread-safe data structures in Python to implement queues, stacks, and priority queues. Next, you will learn how to use Python for synchronization mechanisms and inter-process communication, and will see a comparison of processes to threads. You will learn to use Python's built-in queue data structure for multithreaded applications, and how to implement multiprocessing. Continue by learning how processes are created and executed and how they differ from threads when one is using shared resources. You will explore how to use a manager class, or service process manager to share any Python types. Finally, you will examine the available mechanisms in Python for communication and synchronization between processes.



Expected Duration (hours)
1.3

Lesson Objectives

Python Concurrent Programming: Multiprocessing in Python

  • discover the key concepts covered in this course
  • describe the different types of Queue objects available in Python
  • implement producer and consumer threads that add to and remove from a queue
  • define, initialize, and execute a process in Python
  • distinguish between multiprocessing and multithreading in the context of sharing data in memory
  • share data between processes using shared memory
  • share complex Python data between processes using the Manager class
  • implement locks to allow only one process to update a shared resource
  • use queues and pipes to enable communication between concurrent processes
  • recall the ways in which processes can share data and distinguish between Queue and Pipe
  • Course Number:
    it_pymcpydj_03_enus

    Expertise Level
    Beginner