April 2019
Intermediate to advanced
646 pages
16h 48m
English
multiprocessing provides a portable way to work with processes as if they were threads.
This module contains a Process class that is very similar to the Thread class, and can be used on any platform, as follows:
from multiprocessing import Process
import os
def work(identifier):
print(
'hey, i am a process {}, pid: {}'
''.format(identifier, os.getpid())
)
def main():
processes = [
Process(target=work, args=(number,))
for number in range(5)
]
for process in processes:
process.start()
while processes:
processes.pop().join()
if __name__ == "__main__":
main()
The preceding script, when executed, gives the following result:
$ python3 processing.py hey, i am a process 1, pid: 9196 hey, i am a process 0, ...