How's Python Multiprocessing Implemented on Windows? How's Python Multiprocessing Implemented on Windows? multithreading multithreading

How's Python Multiprocessing Implemented on Windows?


It's done using a subprocess call to sys.executable (i.e. start a new Python process) followed by serializing all of the globals, and sending those over the pipe. A poor man's cloning of the current process. This is the cause of the extra restrictions found when using multiprocessing on Windows plaform.

You may also be interested in viewing Jesse Noller's talk from PyCon about multiprocessing where he discusses its use.