Как выполнить функцию в Python на основе времени, предоставленного аргументом seconds.Как выполнить функцию в Python на основе времени, предоставленного аргументом
def timerfn(seconds, fn, *args):
#start some timer
#if function first launch is > "seconds", abort
#if function doing great.. repeat it and stop at "seconds"
Как я подумываю над ним time.clock() не может реально помочь здесь, потому что функция может быть очень жесткой, и он никогда не достигнет встречного таймера, чтобы показать какой-то результат или прервать.
Должен ли я использовать модуль для нарезания резьбы? я не знаю много о потоках, но из того, что я читал, вы можете иметь только один поток в работе в соответствии с GIL, и этому процессу действительно нужно 2 потока одновременно ... или какой-то другой трюк, который я не знаю ,
Что такое функция powerup? – buc
это просто для представления, вход может быть любой функцией, должен ли я удалить его? – Umren
Несколько очень интересных ответов на аналогичный вопрос здесь: http://stackoverflow.com/questions/492519/timeout-on-a-python-function-call – tweet