Articles of multiproceso

¿Reduciendo la huella de memoria con multiprocesamiento?

Una de mis aplicaciones funciona con unos 100 trabajadores. Comenzó como una aplicación de threading , pero los problemas de rendimiento (latencia) se vieron afectados. Así que convertí a esos trabajadores a multiprocessing.Process . multiprocessing.Process es. El punto de referencia a continuación muestra que la reducción de la carga se logró al costo de un […]

Encontrar una excepción en el multiprocesamiento de python

Tengo un poco de código python que se ve así: procs = cpu_count()-1 if serial or procs == 1: results = map(do_experiment, experiments) else: pool = Pool(processes=procs) results = pool.map(do_experiment, experiments) Funciona bien cuando configuro el indicador de serial , pero da el siguiente error cuando se usa el Pool . Cuando bash imprimir algo […]

Comunicación entre procesos padre-hijo.

Estoy intentando crear un progtwig de Python 3 que tiene uno o más procesos secundarios. El proceso principal genera los procesos secundarios y luego continúa con su propio negocio. De vez en cuando, deseo enviar un mensaje a un proceso secundario específico que lo atrapa y toma medidas. Además, el proceso hijo no debe estar […]

GUI de multiprocesamiento y actualización de PyGTK

Estoy intentando habilitar y deshabilitar un botón de parada para la reproducción de audio en una GUI creada con Glade PyGTK 2.0. El progtwig básicamente funciona ejecutando un proceso externo para reproducir el audio. Estoy utilizando el multiprocesamiento (ya que el subprocesamiento es demasiado lento) y no puedo desactivar el botón de parada. Entiendo que […]

Python, hilo y gobject

Estoy escribiendo un progtwig por un framework usando pygtk. El progtwig principal haciendo las siguientes cosas: Crear un hilo de vigilancia para supervisar algunos recursos Crear un cliente para recibir datos de socket. llamada gobject.Mainloop() pero parece que después de que mi progtwig ingrese al Mainloop, el hilo de vigilancia tampoco se ejecutará. Mi solución […]

Inicializando y destruyendo trabajadores multiproceso Python.

Tengo un modelo al que estoy llamando muchas veces desde Python. El modelo tarda mucho tiempo en iniciarse y apagarse, pero solo en un corto tiempo para procesar los datos de entrada (lo que se puede hacer varias veces entre el inicio y el apagado). El grupo de multiprocesamiento () parecía una buena forma de […]

Cómo terminar correctamente los procesos secundarios con multiprocesamiento en Python

Tengo algunas funciones de callback y me gustaría iniciar como múltiples procesos y hacer que todos terminen a través de la señal del proceso principal. Mi forma actual de hacer esto es crear un c_bool compartido con multiprocessing.Value Valorar y establecerlo en True , luego distribuirlo a todos mis procesos cuando se crean. Todos mis […]

¿Functools.partial no funciona con multiprocessing.Pool.map?

Tengo un código que, simplificado, se ve así: run = functools.partial(run, grep=options.grep, print_only=options.print_only, force=options.force) if not options.single and not options.print_only and options.n > 0: pool = multiprocessing.Pool(options.n) Map = pool.map else: Map = map for f in args: with open(f) as fh: Map(run, fh) try: pool.close() pool.join() except NameError: pass Eso funciona bien cuando lo […]

Python Tkinter, comprobar si la raíz ha sido destruida?

Estoy escribiendo una aplicación utilizando Tkinter junto con subprocesos. El problema que tengo es que, después de cerrar la aplicación principal, todavía se está ejecutando un subproceso y necesito una forma de comprobar si la ventana raíz se ha destruido para evitar el TclError: can’t invoke “wm” command . Todos los métodos que conozco: wminfo_exists() […]

¿Hay alguna razón para usar threading.Lock en multiprocessing.Lock?

Si un proyecto de software es compatible con una versión de Python a la que se ha realizado una copia de seguridad del multiprocesamiento, ¿existe alguna razón para usar threading.Lock ? ¿Un locking multiprocessing no sería seguro para subprocesos también? Para el caso, ¿hay alguna razón para usar primitivas de sincronización de threading que también […]