Articles of multithreading

Usando web.py como servidor http no bloqueante

Mientras aprendía algo de progtwigción básica con python, encontré web.py. Me quedé atascado con un problema estúpido: Escribí una aplicación de consola simple con un bucle principal que procesa elementos de una cola en subprocesos separados. mi objective es usar web.py para agregar elementos a mi cola e informar el estado de la cola a […]

¿Cómo matas a los futuros una vez que han comenzado?

Estoy usando el nuevo módulo concurrent.futures (que también tiene un backport de Python 2) para hacer algunas E / S multiproceso simples. Tengo problemas para entender cómo eliminar de forma limpia las tareas que empecé a usar este módulo. Echa un vistazo a la siguiente secuencia de comandos de Python 2/3, que reproduce el comportamiento […]

¿Excepción de Python en el subproceso Thread-1 (probablemente generado durante el cierre del intérprete)?

Mi amigo y yo hemos estado trabajando en un gran proyecto para aprender y divertirnos en Python y PyGame. Básicamente es una simulación de la IA de un pequeño pueblo. queríamos un ciclo día / noche, por lo que encontré una forma ingeniosa de cambiar el color de una superficie completa usando numpy (específicamente el […]

¿Cómo detener el hilo del demonio?

Tengo una aplicación simple para el consumidor productor. El productor es un hilo que escribe cosas en una cola y un consumidor es un hilo que lee los mensajes de la cola hace cosas y en algunos puntos sale. Mi productor se ve un poco así def producer(queue): while not queue.full(): queue.put(randint(1, 199)) y el […]

Equivalente de setInterval en python

Recientemente publiqué una pregunta sobre cómo posponer la ejecución de una función en Python (tipo de equivalente a Javascript setTimeout ) y resulta ser una tarea simple usando threading.Timer (bueno, simple siempre que la función no comparta el estado con otro código, pero eso crearía problemas en cualquier entorno controlado por eventos). Ahora estoy tratando […]

Multihilo para Python Django

Algunas funciones deben ejecutarse de forma asíncrona en el servidor web. El envío de correos electrónicos o el posprocesamiento de datos son casos de uso típicos. ¿Cuál es la mejor manera (o la mayoría de las formas pythonicas) de escribir una función decoradora para ejecutar una función de forma asíncrona? Mi configuración es común: Python, […]

No se puede cerrar la aplicación Tkinter multiproceso en el botón X

Mi aplicación tiene la siguiente estructura: import tkinter as tk from threading import Thread class MyWindow(tk.Frame): … # constructor, methods etc. def main(): window = MyWindow() Thread(target=window.mainloop).start() … # repeatedly draw stuff on the window, no event handling, no interaction main() La aplicación funciona perfectamente, pero si TclError botón X (cerrar), cierra la ventana, pero […]

¿Cómo ejecutar varios trabajos en un Sparkcontext desde hilos separados en PySpark?

Se entiende de la documentación de Spark sobre Progtwigción dentro de una aplicación : Dentro de una aplicación Spark dada (instancia de SparkContext), múltiples trabajos paralelos pueden ejecutarse simultáneamente si fueron enviados desde hilos separados. Por “trabajo”, en esta sección, nos referimos a una acción de Spark (por ejemplo, guardar, recostackr) y cualquier tarea que […]

Uso de enhebrado.Thread.join ()

Soy nuevo en multihilo en python y trato de aprender multihilo utilizando el módulo de subprocesamiento. He creado un progtwig muy simple de subprocesos múltiples y tengo problemas para entender el método de threading.Thread.join . Aquí está el código fuente del progtwig que he hecho. import threading val = 0 def increment(): global val print […]

Matplotlib: trazado simultáneo en múltiples hilos

Estoy tratando de hacer un trazado en paralelo para terminar los trabajos de lotes grandes más rápido. Con este fin, comienzo un hilo para cada plot que planeo hacer. Esperaba que cada hilo terminara su trazado y se cerrara (como lo entiendo, Python cierra los hilos cuando pasan por todas las declaraciones en run ()). […]