У меня есть поток, который добавляет строки в self.output и цикл, который выполняется до тех пор, пока self.done не будет True (или не будет достигнуто максимальное время выполнения).Python - Threading и while True Loop
Есть ли более эффективный способ сделать это, кроме использования цикла while, который постоянно проверяет, выполнено ли это. Цикл пока вызывает процессор пронзать до 100% в то время как он работает ..
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, теперь мы говорим. : D – Ian
Есть ли способ рассказать о блокировке потока на Queue.get() без тайм-аута, который производитель сделал, помещая что-нибудь в поток, чтобы он мог выйти чисто? – millimoose
@Sii: Вы можете отметить поток демонов при его создании. Это означает, что поток выйдет, когда ваша программа выйдет. –