Articles of Python multihilo

Un ejemplo multi-threading del python GIL.

He leído un poco acerca de cuán “malo” es este negocio de GIL en Python al escribir código de múltiples subprocesos, pero nunca he visto un ejemplo. ¿Podría alguien darme un ejemplo básico de cuándo la GIL causa problemas al usar subprocesos? ¡Gracias!

Python Asyncio, cómo crear y cancelar tareas desde otro hilo.

Tengo una aplicación multi-hilo de python. Quiero ejecutar un bucle asyncio en un subproceso y publicar calbacks y coroutines desde otro subproceso. Debería ser fácil, pero no puedo moverme la cabeza con las cosas de asyncio . Llegué a la siguiente solución que hace la mitad de lo que quiero, no dude en comentar sobre […]

“No se puede iniciar un nuevo error de hilo” en Python

Estoy ejecutando un script que extrae la información de los paquetes de Debian y la guarda en una base de datos. Después de extraer información de unos 100 paquetes, se produce un error. El error es “no se puede iniciar un nuevo hilo” ¿Por qué me enfrento a este error? ¿Cuál puede ser la solución […]

Cómo multihilo una operación dentro de un bucle en Python

Digamos que tengo una lista muy grande y estoy realizando una operación así: for item in items: try: api.my_operation(item) except: print ‘error with item’ Mi problema es doble: Hay muchos articulos api.my_operation tarda una eternidad en volver Me gustaría usar subprocesos múltiples para hacer girar un montón de api.my_operations a la vez para poder procesar […]

¿La forma correcta de limitar el número máximo de subprocesos que se ejecutan a la vez?

Me gustaría crear un progtwig que ejecute varios subprocesos ligeros, pero que se limite a un número constante y predefinido de tareas concurrentes, como esta (pero sin riesgo de condición de carrera): import threading def f(arg): global running running += 1 print(“Spawned a thread. running=%s, arg=%s” % (running, arg)) for i in range(100000): pass running […]

Hilo contra hilo

¿Cuál es la diferencia entre los módulos de threading y thread en Python?

Reiniciando un hilo en Python

Estoy intentando crear un software de vuelo con hilos para un proyecto en Python 3.4, en el que necesito hilos para reiniciarse en caso de que se produzca un error de E / S durante la lectura de un sensor u otro accidente fortuito como ese. Por lo tanto, estoy trabajando en hacer un watchdog […]

el hilo comienza a ejecutarse antes de llamar a Thread.start

t1=threading.Thread(target=self.read()) print “something” t2=threading.Thread(target=self.runChecks(), args=(self)) self.read ejecuta indefinidamente, por lo que el progtwig nunca llegará a la línea de print . ¿Cómo es esto posible sin llamar a t1.start() ? (Incluso si lo llamo, debería comenzar a correr y pasar a la siguiente línea, ¿no es así?)

python: cómo terminar un hilo cuando finaliza el progtwig principal

Si tengo un hilo en un bucle infinito, ¿hay alguna forma de terminarlo cuando finalice el progtwig principal (por ejemplo, cuando presiono Ctrl + C )?

comprensión de hilo.juntar (tiempo de espera)

Por lo tanto, el parámetro de tiempo de espera , para un hilo, debe detener el hilo después de segundos de tiempo de espera (si aún no ha terminado). En mi software estoy tratando de reemplazar un Queue.Queue.join () (contiene un elemento para cada hilo: cada hilo se ejecutará Queue.Queue.task_done ()) que podría detener el […]