Multiprocessing in Python
Let's discuss what multiprocessing is in Python and how it works.
We'll cover the following
Overview
The multiprocessing module was added to Python in version 2.6. It was
originally defined in PEP 371 by Jesse Noller and Richard Oudkerk. The multiprocessing module allows you to spawn processes in much the same manner as you can spawn threads with the threading module. The idea
here is that because you are now spawning processes, you can avoid the
Global Interpreter Lock (GIL)
and take full advantages of multiple
processors on a machine.
The multiprocessing package also includes some APIs
that are not in the
threading module at all. For example, there is a neat Pool
class that
you can use to parallelize executing a function across multiple inputs.
We will be looking at Pool
later. We will start with the
multiprocessing module’s Process
class.
Getting started with multiprocessing
The Process
class is very similar to the threading module’s Thread
class. Let’s try creating a series of processes that call the same
function and see how that works:
Get hands-on with 1400+ tech skills courses.