Python Concurrent Programming: Multithreading in Python

Python    |    Beginner
  • 14 videos | 1h 41m 38s
  • Includes Assessment
  • Earns a Badge
Rating 4.5 of 149 users Rating 4.5 of 149 users (149)
This course offers an in-depth exploration of the creation and management of concurrent threads in Python. In its 14 videos, you will learn how to significantly improve the performance and responsiveness of your apps by using concurrent threads. Begin by examining how threads are created in Python from their initialization to their execution; then learn how to use the various synchronization mechanisms such as locks, semaphores, and events. Next, you will examine how concurrent execution could occur in two ways: multithreading and parallel. You will learn to use multithreading to run chunks of each task at one time, and then switch between them regularly. You will learn multiprocessing of threads by executing tasks in parallel. Learners will examine concurrent execution of threads, and some of the issues that arise when these threads are not synchronized. Finally, you will examine several threads of synchronization mechanisms available in Python such as locks, semaphores, events, and conditions and explore the properties and use cases for each of these objects.

WHAT YOU WILL LEARN

  • Discover the key concepts covered in this course
    Initialize and execute a thread in python
    Set a name for a thread and ensure a thread waits for a created thread to complete
    Define your own type to run in a thread by deriving the multithreading.thread class
    Execute two threads concurrently to save time relative to a sequential execution
    Identify what a race condition is and when this may occur with multithreading
    Use a lock to synchronize threads that update a shared resource
  • Recognize the conditions under which a deadlock may occur
    Define tasks in such a manner that deadlocks will not occur
    Create semaphores in python and recognize the effect of calling their acquire and release methods
    Describe the use of boundedsemaphores to restrict the number of times a semaphore can be released
    Define threads that will wait for an event to occur before they can proceed
    Create a condition instance that will have multiple threads waiting for data to be generated
    Recall how to retrieve details about running threads and describe semaphores in python

IN THIS COURSE

  • 2m 26s
  • 7m 12s
    Learn how to start and run a thread in Python. FREE ACCESS
  • Locked
    3.  Naming and Joining Threads
    7m 10s
    During this video, you will learn how to name a thread and ensure a thread waits for a created thread to complete. FREE ACCESS
  • Locked
    4.  Deriving the Thread Class
    8m 39s
    In this video, you will define your own type to run in a thread by deriving from the multithreading.Thread class. FREE ACCESS
  • Locked
    5.  Running Threads Concurrently
    5m 16s
    During this video, you will learn how to execute two threads concurrently to save time relative to sequential execution. FREE ACCESS
  • Locked
    6.  Race Conditions
    8m 34s
    During this video, you will learn how to identify what a race condition is and when this may occur with multithreading. FREE ACCESS
  • Locked
    7.  Thread Synchronization with Locks
    9m 48s
    Learn how to use a lock to synchronize threads so they can update a shared resource. FREE ACCESS
  • Locked
    8.  Simulating a Deadlock
    9m 37s
    After completing this video, you will be able to recognize the conditions under which a deadlock may occur. FREE ACCESS
  • Locked
    9.  Avoiding a Deadlock
    4m 25s
    Learn how to define tasks so that deadlocks will not occur. FREE ACCESS
  • Locked
    10.  Semaphores - Part 1
    9m 26s
    In this video, you will create semaphores in Python and see the effect of calling their acquire and release methods. FREE ACCESS
  • Locked
    11.  Semaphores - Part 2
    7m 36s
    After completing this video, you will be able to describe the use of BoundedSemaphores to restrict the number of times a semaphore can be acquired. FREE ACCESS
  • Locked
    12.  The Event Object
    7m 59s
    In this video, learn how to define threads that will wait for an event to occur before they can continue. FREE ACCESS
  • Locked
    13.  The Condition Object
    8m 42s
    In this video, you will learn how to create a condition instance that will have multiple threads waiting for data to be generated. FREE ACCESS
  • Locked
    14.  Exercise: Multithreading in Python
    4m 48s
    Upon completion of this video, you will be able to recall how to retrieve details about running threads and describe semaphores in Python. FREE ACCESS

EARN A DIGITAL BADGE WHEN YOU COMPLETE THIS COURSE

Skillsoft is providing you the opportunity to earn a digital badge upon successful completion on some of our courses, which can be shared on any social network or business platform.

Digital badges are yours to keep, forever.

PEOPLE WHO VIEWED THIS ALSO VIEWED THESE

Rating 4.3 of 627 users Rating 4.3 of 627 users (627)
Rating 4.6 of 80 users Rating 4.6 of 80 users (80)
Rating 4.5 of 179 users Rating 4.5 of 179 users (179)