English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
sleep() Funktion, die den aktuellen Thread für die angegebene Anzahl von Sekunden anhält (wartet).
Python hat eine namenstimeDas Modul, das einige nützliche Funktionen zum Umgang mit zeitbezogenen Aufgaben bietet. Eine der häufig verwendeten Funktionen ist sleep().
Die Funktion sleep() pausiert die Ausführung des aktuellen Threads für angegebene Sekunden.
import time print("Sofort drucken") time.sleep(2.4) print("2.4Sekunden später ")
Die Funktionsweise dieses Programms ist wie folgt:
" Sofort drucken " wird ausgegeben
Pausieren (verzögern) die Ausführung2.4Sekunden später.
Druckausgabe"2.4Sekunden später " .
Wie aus dem obigen Beispiel zu sehen ist, nimmt sleep() einen Fließkommawert als Parameter.
in Python 3.5vor,die tatsächliche Pausenzeit kann weniger als der für die time() Funktion angegebene Parameter betragen.
von Python 3.5Beginn,die Pause mindestens die angegebene Anzahl von Sekunden betragen wird.
import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result) time.sleep(1)
In dem obigen Programm haben wir die unendlichewhile-Schleifein der aktuellen lokalen Zeit1Sekunden. Ebenso wird die aktuelle lokale Zeit berechnet und ausgegeben. Dieser Prozess wird fortgesetzt.
Wenn Sie das Programm ausführen, wird die Ausgabe ähnlich sein wie:
02:10:50 PM 02:10:51 PM 02:10:52 PM 02:10:53 PM 02:10:54 PM ... .. ...
Dies ist eine verbesserte Version des obigen Programms mit einigen kleinen Änderungen.
import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result, end="", flush=True) print("\r", end="", flush=True) time.sleep(1)
Bevor wir über das sleep() Multithreading-Programm 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 eines Prozesses. Ein Prozess kann einen oder mehrere Threads haben.
Alle Programme oben in diesem Artikel sind Einzethread-Programme. Dies ist ein Beispiel für ein Mehrereithread-Python-Programm.
import threadning 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 = threadning.Thread(target=print_hello_three_times) t2 = threadning.Thread(target=print_hi_three_times) t1.start() t2.start()
Wenn Sie das Programm ausführen, wird die Ausgabe ähnlich sein wie:
Hello Hello Hi Hello Hi Hi
Das obige Programm hat zwei Threadst1undt2. Diese Threads verwenden t1.start() und t2.start() Anweisung ausgeführt wird.
Bitte beachten Sie,t1undt2Gleichzeitig ausgeführt, können Sie unterschiedliche Ausgaben erhalten.
Die Funktion sleep() pausiert die Ausführung des aktuellen Threads für angegebene Sekunden.
Wenn ein einziges Thread-Programm ist, wird sleep() die Ausführung des Threads und des Prozesses abbrechen. Aber diese Funktion hängt den Thread in Mehrereithread-Programmen anstatt den gesamten Prozess auf.
import threadning 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 = threadning.Thread(target=print_hello) t2 = threadning.Thread(target=print_hi) t1.start() t2.start()
Die obige Programm hat zwei Threads. Wir haben diese beiden Threads time.sleep(0.5) und time.sleep(0.75) ihre Ausführungszeit beträgt 0.5Sekunden und 0.7Sekunden.