Parallel Processing

In this lesson of the Python Programming Advanced course, we'll be discussing how to run multiple instructions at the same time using parallel processing.

You'll learn about concepts such as multithreading and atomicity. You'll also understand what determinism is and how to use locks to enforce determinism in multithreading.

You'll also get an introduction to some of the problems that parallel processing can introduce such as nonatomcity and nondeterminism. You'll also learn how tools such as locks can maintain the integrity of the data and ensure that delegating tasks between threads doesn't introduce unexpected bugs.

While this lesson doesn't use any particular data set, you'll still get to apply what you’ve learned from within your browser so that there's no need to use your own machine to do the exercises. The Python environment inside of this course includes answer checking so you can ensure that you've fully mastered each concept before learning the next concept.


  • Learn how multi-threading works.
  • Understand the Concepts of Determinism in programming.

Lesson Outline

1. Introduction
2. Using Mutable Values for Changing Information
3. Multithreading Multiple Processes
4. Determinism of Program Results
5. Using Locks to Enforce Determinism in Multithreading
6. Counting in Two Steps
7. Counting Once on Two Different Threads
8. Imitating Atomicity With Locks
9. Conclusion
10. Takeaways

Take a Look Inside