Если у меня есть два объекта threading.Event()
и хотите спать, пока не будет установлен один из них, существует ли эффективный способ сделать это в python? Ясно, что я мог бы сделать что-то с опросом/тайм-аутами, но мне бы хотелось, чтобы поток был спящим до тех пор, пока он не будет установлен, сродни тому, как select
используется для дескрипторов файлов.
Итак, в следующей реализации, как бы выглядела эффективная реализация non-poll wait_for_either
?
a = threading.Event()
b = threading.Event()
wait_for_either(a, b)