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