Python sleep () -Funktion (mit Beispielen)

Die Funktion sleep () unterbricht (wartet) die Ausführung des aktuellen Threads für eine bestimmte Anzahl von Sekunden.

Python verfügt über ein Modul namens time, das verschiedene nützliche Funktionen für zeitbezogene Aufgaben bietet. Eine der beliebtesten Funktionen unter ihnen ist sleep().

Die sleep()Funktion unterbricht die Ausführung des aktuellen Threads für eine bestimmte Anzahl von Sekunden.

Beispiel 1: Python sleep ()

  import time print("Printed immediately.") time.sleep(2.4) print("Printed after 2.4 seconds.") 

So funktioniert dieses Programm:

  • "Printed immediately" wird gedruckt
  • Unterbricht (verzögert) die Ausführung für 2,4 Sekunden.
  • "Printed after 2.4 seconds" wird gedruckt.

Wie Sie aus dem obigen Beispiel sehen können, sleep()wird eine Gleitkommazahl als Argument verwendet.

Vor Python 3.5 kann die tatsächliche Suspendierungszeit kürzer sein als das für die time()Funktion angegebene Argument .

Seit Python 3.5 beträgt die Suspendierungszeit mindestens die angegebenen Sekunden.

Beispiel 2: Python erstellt eine Digitaluhr

 import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result) time.sleep(1) 

Im obigen Programm haben wir die aktuelle Ortszeit innerhalb der Endlosschleife berechnet und gedruckt. Dann wartet das Programm 1 Sekunde. Wieder wird die aktuelle Ortszeit berechnet und gedruckt. Dieser Prozess geht weiter.

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 02:10:50 PM 02:10:51 PM 02:10:52 PM 02:10:53 PM 02:10:54 PM… 

Hier ist eine leicht modifizierte bessere Version des obigen Programms.

  import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result, end="", flush=True) print("", end="", flush=True) time.sleep(1) 

Weitere Informationen finden Sie unter Digitaluhr in der Python-Shell.

Multithreading in Python

Bevor wir sleep()in Multithread-Programmen darüber sprechen, lassen Sie uns über Prozesse und Threads sprechen.

Ein Computerprogramm ist eine Sammlung von Anweisungen. Ein Prozess ist die Ausführung dieser Anweisungen.

Ein Thread ist eine Teilmenge des Prozesses. Ein Prozess kann einen oder mehrere Threads haben.

Beispiel 3: Python-Multithreading

Alle oben in diesem Artikel beschriebenen Programme sind Single-Thread-Programme. Hier ist ein Beispiel für ein Python-Programm mit mehreren Threads.

  import threading def print_hello_three_times(): for i in range(3): print("Hello") def print_hi_three_times(): for i in range(3): print("Hi") t1 = threading.Thread(target=print_hello_three_times) t2 = threading.Thread(target=print_hi_three_times) t1.start() t2.start() 

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Hallo Hallo Hallo Hallo Hallo Hi 

Das obige Programm hat zwei Threads t1 und t2. Diese Threads werden mit t1.start()und t2.start()-Anweisungen ausgeführt.

Beachten Sie, dass t1 und t2 gleichzeitig ausgeführt werden und Sie möglicherweise unterschiedliche Ausgaben erhalten.

Besuchen Sie diese Seite, um mehr über Multithreading in Python zu erfahren.

time.sleep () in Multithread-Programmen

Die sleep()Funktion unterbricht die Ausführung des aktuellen Threads für eine bestimmte Anzahl von Sekunden.

Bei Single-Thread-Programmen wird die sleep()Ausführung des Threads und des Prozesses angehalten. Die Funktion unterbricht jedoch in Multithread-Programmen eher einen Thread als den gesamten Prozess.

Beispiel 4: sleep () in einem Multithread-Programm

 import threading import time def print_hello(): for i in range(4): time.sleep(0.5) print("Hello") def print_hi(): for i in range(4): time.sleep(0.7) print("Hi") t1 = threading.Thread(target=print_hello) t2 = threading.Thread(target=print_hi) t1.start() t2.start()

Das obige Programm hat zwei Threads. Wir haben eingesetzt time.sleep(0.5)und time.sleep(0.75)jeweils 0,5 Sekunden und 0,7 Sekunden Ausführung dieser zwei Threads auszusetzen.

Empfohlene Lektüre: Python time.sleep () schläft Thread

Interessante Beiträge...