В потоке t1
я хочу установить тайм-аут для ожидания события e
в потоке t2
и предпринять различные шаги в зависимости от результата.
Установить тайм-аут (поток t1
) дождитесь, пока e
в потоке t2
произойдет => если произойдет e
, сделайте что-нибудь в t1
и немедленно очистите тайм-аут.В противном случае сделайте что-нибудь еще в t1
и немедленно очистите тайм-аут.
Я попытался threading.Timer
, но, похоже, логически это не правильно.И signal
документация гласит: only the main thread is allowed to set a new signal handler.
Я не уверен, как я должен это реализовать.Спасибо за любую помощь!