2015-04-19 2 views
2

Есть ли быстрый способ настроить функцию в python для выполнения некоторого времени в будущем (неблокирование, похожее на setTimeout в Javascript)? У меня есть идея, как это сделать сама, но скорее бы использовала бы что-то уже сделанное, если оно есть в библиотеке.Простой способ выполнить код в ближайшем будущем в PYthon

+1

'threading.Timer'? – tdelaney

ответ

5

Python имеет совершенно другую модель исполнения, чем JavaScript, которая не расставляет приоритеты для этой проблемы. Чтобы решить эту проблему, вам, вероятно, потребуется использовать потоки: https://docs.python.org/2/library/threading.html

В частности, класс Timer - это, вероятно, то, что вы ищете - ознакомьтесь с приведенным выше примером.

Помните, что потоковая передача Python не так полно, как у других языков, из-за блокировки глобального интерпретатора: What is a global interpreter lock (GIL)?.

+0

Я знаю, что мне нужно использовать потоки, но я чувствую себя ленивым в этот час, и я надеялся, что у кого-то была такая же проблема раньше, и есть код, который я мог бы использовать напрямую. Если нет, я начну работать над этим завтра. – rslite

+0

@rslite, проверьте пример таймера по ссылке выше. – jwilner

Смежные вопросы