Tengo un hilo que agrega filas a self.output y un bucle que se ejecuta hasta que self.done es True (o se alcanza el tiempo máximo de ejecución).Python - Threading y un while True Loop
Hay una manera más eficiente de hacer esto que no sea usar un ciclo while que comprueba constantemente si está hecho. El bucle while hace que la CPU pico a 100% mientras se está ejecutando ..
time.clock()
while True:
if len(self.output):
yield self.output.pop(0)
elif self.done or 15 < time.clock():
if 15 < time.clock():
yield "Maximum Execution Time Exceeded %s seconds" % time.clock()
break
OoOooo, ahora estamos hablando. : D – Ian
¿Hay alguna manera de decirle a un bloqueo de subprocesos en un Queue.get() sin un tiempo de espera que el productor termine de poner algo en el hilo para que pueda salir limpiamente? – millimoose
@Sii: Puede marcar el hilo daemonic cuando lo crea. Esto significa que el hilo se cerrará cuando salga tu programa. –