Articles of multithreading

Cómo generar futuro solo si hay trabajadores libres disponibles

Estoy intentando enviar información extraída de las líneas de un archivo grande a un proceso que se ejecuta en algún servidor. Para acelerar esto, me gustaría hacer esto con algunos hilos en paralelo. Usando el backport Python 2.7 de concurrent.futures intenté esto: f = open(“big_file”) with ThreadPoolExecutor(max_workers=4) as e: for line in f: e.submit(send_line_function, line) […]

Python multiproceso ZeroMQ REQ-REP

Estoy buscando implementar un patrón REQ-REP con Python y ZeroMQ usando multiproceso. Con Python, puedo crear un nuevo hilo cuando un nuevo cliente se conecta al servidor. Este hilo manejará todas las comunicaciones con ese cliente en particular, hasta que el socket se cierre: # Thread that will handle client’s requests class ClientThread(threading.Thread): # Implementation… […]

wxpython – hilos y eventos de ventana

Tengo una aplicación wxPython ( http://www.OpenSTV.org ) que cuenta las boletas usando métodos que tienen varias rondas. Me gustaría hacer dos cosas: (1) Para una gran cantidad de boletas, esto puede ser un poco lento, así que me gustaría mostrarle al usuario un cuadro de diálogo de progreso para que no piense que la aplicación […]

Registro por hilo en python

Considere una aplicación Python de múltiples subprocesos utilizando el módulo de registrador de Python. Quiero hacer el registro por subproceso, por lo que he adjuntado un ID único (no el id de subproceso) en la parte inferior del nombre del registrador en el módulo principal (que crea subprocesos). mylogger = logging.getLogger(str(someInt) + __name__) Ahora este […]

Los procesos de multiprocesamiento de Python duermen después de un tiempo.

Tengo una secuencia de comandos que se ejecuta a través de un directorio y busca todos los archivos con un final dado (es decir, .xml) para las cadenas dadas y las reemplaza. Para lograr esto utilicé la biblioteca de multiprocesamiento de python. Como ejemplo, estoy usando 1100 archivos .xml con aproximadamente 200 MB de datos. […]

Captura de Python de subproceso línea por línea

He leído muchas de las preguntas relacionadas con esto y he aprendido mucho, pero todavía no he podido resolver mi problema. Estoy creando una aplicación wxPython que ejecuta un ejecutable c ++ y muestra la salida estándar de ese ejecutable en tiempo real. Me he encontrado con varios resultados extraños tratando de hacer que esto […]

Replicación de modelos en Keras y Tensorflow para una configuración de subprocesos múltiples

Estoy tratando de implementar la versión asíncrona de actor-crítico en Keras y TensorFlow. Estoy usando Keras solo como una interfaz para construir mis capas de red (estoy actualizando los parámetros directamente con tensorflow). Tengo un global_model y una sesión principal de tensorflow. Pero dentro de cada hilo estoy creando un local_model que copia los parámetros […]

¿Cómo acelerar Python unittest en máquinas muticore?

Estoy usando python unittest para probar otra aplicación externa, pero lleva mucho tiempo ejecutar la prueba una por una. Me gustaría saber cómo puedo acelerar este proceso usando el poder de los núcleos múltiples. ¿Puedo modificar unittest para ejecutar pruebas en paralelo? ¿Cómo? Esta pregunta no es capaz de limitar GIL a Python porque, de […]

¿Qué pasó con thread.start_new_thread en python 3?

Me gustó la posibilidad de convertir una función en un hilo sin la línea innecesaria para definir una clase. Sé de _thread, sin embargo, parece que no se supone que uses _thread. ¿Existe una buena práctica equivalente de thread.start_new_thread para python 3?

¿Es threading.local () una forma segura de almacenar variables para una sola solicitud en Google AppEngine?

Tengo una aplicación de Google appengine donde deseo establecer una variable global solo para esa solicitud. ¿Puedo hacer esto? En request_vars.py # request_vars.py global_vars = threading.local() En otro.py # another.py from request_vars import global_vars get_time(): return global_vars.time_start En main.py # main.py import another from request_vars import global_vars global_vars.time_start = datetime.datetime.now() time_start = another.get_time() Preguntas: considerando […]