multiprocessing introduction the multiprocessing library supports the generation of separate (operating system levelprocesses to execute behaviour (such as functions or methodsusing an api that is similar to the threading api presented in the last it can be used to avoid the limitation introduced by the global interpreter lock (the gilby using separate operating system processes rather than lightweight threads (which run within single processthis means that the multiprocessing library allows developers to fully exploit the multiple processor environment of modern computer hardware which typically has multiple processor cores allowing multiple operations/behaviours to run in parallelthis can be very significant for data analyticsimage processinganimation and games applications the multiprocessing library also introduces some new featuresmost notably the pool object for parallelising execution of callable object ( functions and methodsthat has no equivalent within the threading api the process class the process class is the multiprocessing library' equivalent to the thread class in the threading library it can be used to run callable object such as function in separate process to do this it is necessary to create new instance of the process class and then call the start(method on it methods such as join(are also available so that one process can wait for another process to complete before continuing etc the main difference is that when new process is created it runs within separate process on the underlying operating systems (such as windowlinux or (cspringer nature switzerland ag huntadvanced guide to python programmingundergraduate topics in computer science