5 - Multiprocessing.ipynb#

Librería Multiprocessing de Python#

La librería Multiprocessing de Python es una biblioteca estándar que permite la creación de procesos en paralelo en una computadora con múltiples núcleos o CPUs. Proporciona una interfaz de programación para crear y administrar procesos de manera fácil y eficiente, lo que permite acelerar la ejecución de programas que realizan tareas intensivas en cómputo.

5 - ¿Cómo usar un proceso en una subclase?#

  • La librería multiprocessing de Python permite crear procesos utilizando subclases.

  • Para ello, se crea una clase que hereda de la clase Process de la librería multiprocessing.

  • En el ejemplo, se crea una clase MyProcess que hereda de la clase Process.

  • La clase MyProcess sobreescribe el método run() de la clase Process.

  • La clase MyProcess llama al método run() de la clase Process.

  • Se crea una lista jobs que almacena los objetos MyProcess.

  • Se crea un bucle for que crea 5 procesos, los almacena en la lista jobs, y los ejecuta.

  • Se crea un bucle for que espera a que terminen los procesos almacenados en la lista jobs.

import multiprocessing

class MyProcess(multiprocessing.Process):

    def run(self):
        print ('Ejecución en %s \n' %self.name)
        return

if __name__ == '__main__':
    jobs = []

    for i in range(5):
        p = MyProcess()
        jobs.append(p)
        p.start()

    for p in jobs:        
        p.join()
Ejecución en MyProcess-56 
Ejecución en MyProcess-55 


Ejecución en MyProcess-58 
Ejecución en MyProcess-57 


Ejecución en MyProcess-59