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)