#python #performance #timeout
#python #Производительность #тайм-аут
Вопрос:
Я уверен, что это довольно распространенное явление, поэтому мне любопытно, каковы принятые / эффективные способы сделать это в Python.
Проще говоря, я просто занят — ожидаю обновления переменной. В то же время мне нужна схема тайм-аута, но я чувствую, что должен быть лучший способ сделать это.
В настоящее время я делаю что-то вроде этого:
wait_start = time.time()
while state != NEW_STATE:
if time.time() - wait_start > timeout:
print "Timed out!"
# Do something
# Continuing on...
Я, очевидно, просто не могу спать, потому что мне нужно знать, когда состояние изменилось.
Итак, каков эффективный метод реализации тайм-аута для изменения состояния (переменной)?
Комментарии:
1. ой. когда state != NEW_STATE, вы будете потреблять циклы процессора, проверяя его
2. точно, я думал о сигналах, но я просто подумал, что для такого рода вещей существует принятая лучшая практика
Ответ №1:
Для такого типа вещей часто используютсяпеременные условия и события. И то, и другое требует сотрудничества со стороны, которая изменяет переменную.