Я знаю, что вы можете использовать signal.alarm()
для расписания будильников в основной теме, но есть ли способ сделать что-то подобное в потоке, который не является вашим основным потоком, поскольку эти потоки не могут получать сигналы? Мне нужно запланировать, чтобы что-то случилось через 5 минут.Python: настройка будильника вне основной темы
ответ
Использовать Timer
вместо сигналов. Работа с сигналами откроет много банок червей, поэтому вы должны избегать их, когда сможете. В этом случае это звучит так, как вы можете.
Вы можете использовать threading.Event, чтобы сообщать свои потоки о событиях. Посмотрите также на threading.Timer.
Я использую threading.Event прямо сейчас, но мне нужно установить будильник, чтобы установить() событие на 5 минут в будущее каким-то образом. – garsh0p
@ garsh0p Что-то вроде threading.Timer? –
Есть ли определенная причина, по которой вы хотите использовать сигналы, а не использовать что-то вроде класса Timer? –
Нет, это именно то, что я искал, хотя :) Я просто не знал никаких альтернатив. – garsh0p