Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Pythons time.sleep() meistern: Best Practices, Multithreading und Praxisbeispiele

Python time.sleep()

Die Funktion time.sleep() pausiert den aktuellen Thread für eine angegebene Anzahl an Sekunden.

Pythons time-Modul bietet eine Reihe von Utilities für die Arbeit mit Zeit. Darunter ist time.sleep() essenziell für das Hinzufügen bewusster Verzögerungen, die Synchronisation von Threads oder das Drosseln von Operationen.

Beispiel 1: Grundlegende Verwendung

import time

print("Sofort ausgegeben.")
time.sleep(2.4)
print("Nach 2,4 Sekunden ausgegeben.")

Dieses einfache Skript demonstriert, dass time.sleep() ein Gleitkomma-Argument akzeptiert. In Python 3.5 und höher garantiert die Funktion eine minimale Schlafdauer; frühere Versionen können etwas länger schlafen.

Beispiel 2: Digitale Uhr

import time

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

Die Schleife gibt die aktuelle Ortszeit jede Sekunde aus. Um das Terminal nicht zu überladen, aktualisiert die verbesserte Version dieselbe Zeile:

import time

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

Siehe Python-Dokumentation für time.sleep() für tiefere Einblicke.

Threads verstehen

Ein Prozess ist ein ausführendes Programm; Threads sind leichte Einheiten innerhalb dieses Prozesses. Mehrere Threads können parallel laufen und teilen sich denselben Speicherbereich.

Beispiel 3: Einfaches Multithreading

import threading

def greet_hello():
    for _ in range(3):
        print("Hello")

def greet_hi():
    for _ in range(3):
        print("Hi")

t1 = threading.Thread(target=greet_hello)
t2 = threading.Thread(target=greet_hi)
t1.start()
t2.start()

Da t1 und t2 parallel ausgeführt werden, kann die Ausgabe-Reihenfolge bei jedem Lauf variieren.

time.sleep() in multithreaded Kontexten

In single-threaded Programmen hält time.sleep() den gesamten Prozess an. In einer multithreaded Umgebung wird nur der aufrufende Thread pausiert, sodass andere Threads fortfahren können.

Beispiel 4: Threads unterschiedlich pausieren

import threading, time

def say_hello():
    for _ in range(4):
        time.sleep(0.5)
        print("Hello")

def say_hi():
    for _ in range(4):
        time.sleep(0.7)
        print("Hi")

t1 = threading.Thread(target=say_hello)
t2 = threading.Thread(target=say_hi)
t1.start()
t2.start()

Hier schläft ein Thread 0,5 s, der andere 0,7 s, was unabhängiges Tempo veranschaulicht.

Für mehr zu Threading siehe Pythons threading-Modul.

Python

  1. Python-Datentypen meistern: Praxisleitfaden
  2. Python-Operatoren meistern: Umfassender Leitfaden
  3. Python pass-Statement meistern: Praxisleitfaden
  4. Python-Funktionsargumente meistern: Positional, Keyword & Default-Parameter
  5. Python-Dictionaries meistern: Erstellung, Manipulation und fortgeschrittene Techniken
  6. Python Iteratoren meistern: Funktionsweise und Erstellung eigener Iteratoren
  7. Python Closures erklärt: Wie verschachtelte Funktionen Variablen erfassen
  8. Python datetime meistern: Praktischer Leitfaden zu Datumsangaben, Zeiten und Zeitzonen
  9. Aktuelles Datum und Uhrzeit in Python abrufen: Praktischer Leitfaden
  10. Python: Aktuelle Uhrzeit und Zeitzonendaten einfach abrufen