Python time.sleep () vs event.wait ()

Ich möchte in regelmäßigen Abständen eine Aktion in meiner Multithread-Python-Anwendung ausführen. Ich habe zwei verschiedene Arten gesehen, es zu tun

exit = False
def thread_func(): 
    while not exit:
       action()
       time.sleep(DELAY)

ode

exit_flag = threading.Event()
def thread_func(): 
    while not exit_flag.wait(timeout=DELAY):
       action()

Gibt es einen Vorteil gegenüber dem anderen? Verwendet man weniger Ressourcen oder spielt man besser mit anderen Threads und der GIL? Welches macht die verbleibenden Threads in meiner App reaktionsschneller?

(Angenommen, einige externe Ereignissätzeexit oderexit_flag, und ich bin bereit, die volle Verzögerung beim Herunterfahren zu warten)

Antworten auf die Frage(6)

Ihre Antwort auf die Frage