Python time.sleep () vs event.wait ()
Quiero realizar una acción a intervalos regulares en mi aplicación Python multiproceso. He visto dos formas diferentes de hacerlo
exit = False
def thread_func():
while not exit:
action()
time.sleep(DELAY)
o
exit_flag = threading.Event()
def thread_func():
while not exit_flag.wait(timeout=DELAY):
action()
¿Hay alguna ventaja en un sentido sobre el otro? ¿Se usan menos recursos o se juegan mejor con otros hilos y el GIL? ¿Cuál hace que los hilos restantes de mi aplicación respondan mejor?
(Suponga algunos conjuntos de eventos externosexit
oexit_flag
, y estoy dispuesto a esperar el retraso completo mientras lo apago)