14.5 Summary
In this chapter, we’ve looked at two ways to support the concurrent processing of multiple pieces of data:
The
multiprocessingmodule: Specifically, thePoolclass and the various kinds of mappings available to a pool of workers.The
concurrent.futuresmodule: Specifically, theProcessPoolExecutorandThreadPoolExecutorclasses. These classes also support a mapping that will distribute work among workers that are threads or processes.
We’ve also noted some alternatives that don’t seem to fit in well with functional programming. There are numerous other features of the multiprocessing module, but they’re not a good fit with functional design. Similarly, the threading and queue modules can be used to build multithreaded applications, but the features aren’t a good fit with functional programs.
In the next chapter, we’ll look at how we can apply functional programming techniques to build web service applications. The idea of HTTP...