9 - 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.
9 - ¿Cómo sincronizar procesos utilizando un administrador de procesos (manager)? - Ejecutar Python File#
La sincronización de procesos se puede lograr utilizando un administrador de procesos (manager).
import multiprocessing
import time
def worker(dictionary, key, item):
print(key,item,"\n")
time.sleep(2)
dictionary[key] = item
if __name__ == '__main__':
mgr = multiprocessing.Manager()
dictionary = mgr.dict()
jobs = [ multiprocessing.Process(target=worker, args=(dictionary, i, i*2)) for i in range(10) ]
start_time = time.time()
for j in jobs:
j.start()
for j in jobs:
j.join()
end_time = time.time()
print ('Results:', dictionary)
print("El tiempo de ejecución fue:", end_time - start_time, "segundos")
0 01
22
43
64
8
5
10
6
127
14
8
16
9 18
Results: {0: 0, 1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12, 7: 14, 8: 16, 9: 18}
El tiempo de ejecución fue: 2.2683022022247314 segundos