Section 3: Scaling beyond a Single Thread
In this part of the book, our journey will take a turn toward programming for scalable applications. A typical Python interpreter runs on a single thread running on a single process. For this part of our journey, we discuss how to scale out Python beyond this single thread running on a single process. To do that, we first look into multithreading, multiprocessing, and asynchronous programming on a single machine. Then, we explore how we can go beyond the single machine and run our applications on clusters using Apache Spark. After that, we investigate using cloud computing environments to focus on the application and leave the infrastructure management to cloud providers.
This section contains the following chapters:
- Chapter 7, Multiprocessing, Multithreading, and Asynchronous Programming
- Chapter 8, Scaling Out Python using Clusters
- Chapter 9, Python Programming for the Cloud