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