English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python Grundlagenlehrbuch

Python Flusskontrolle

Python-Funktion

Python-Datentypen

Python Dateioperationen

Python Objekte und Klassen

Python Datum und Zeit

Python fortgeschrittene Kenntnisse

Python Referenzhandbuch

Python-sleep()

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.

Beispiel1:Python sleep()

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.

Beispiel2:Erstellen Sie eine digitale Uhr mit Python

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)

Multithreading in Python

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.

Beispiel3: Python-Mehreithread

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.

: time.sleep() in Mehrereithread-Programmen

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.

Beispiel4: Sleep() in Mehrereithread-Programme

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.