Thread starten in Python

Fumbani Banda 15 Februar 2024
  1. Thread-Definition
  2. Thread-Implementierung in Python
  3. Threading-Visualisierung
Thread starten in Python

Dieses Tutorial stellt das Modul threading vor, um einen Thread in Python zu erstellen und zu starten.

Thread-Definition

Ein Thread ist eine Menge von Operationen, die ausgeführt werden müssen. Ausführen von Threads bedeutet, dass im Programm zwei oder mehr Dinge gleichzeitig ausgeführt werden. Ein Thread kann nur in einem Kern der CPU ausgeführt werden. Beim Threading geht es darum, wie wir mit den Threads in einem CPU-Kern umgehen.

Thread-Implementierung in Python

Python verwendet das Modul threading, um Threads in Programmen zu implementieren. Sie können eine Thread-Instanz erstellen und diese dann aufrufen, um einen separaten Thread zu starten.

Wenn Sie eine Thread-Instanz erstellen, übergeben Sie eine Funktion und eine Liste von Argumenten für diese Funktion. In diesem Fall weisen Sie den Thread an, die Funktion thread_function() auszuführen und als Argument 1 zu übergeben.

Die thread_function() protokolliert einige Meldungen und schläft für zwei Sekunden.

# python 3.x
from threading import Thread
import time
import logging


def thread_function(name):
    logging.info("Thread %s: starting", name)
    time.sleep(2)
    logging.info("Thread %s: finishing", name)


if __name__ == "__main__":
    format = "%(asctime)s: %(message)s"
    logging.basicConfig(format=format, level=logging.INFO, datefmt="%H:%M:%S")
    thread = Thread(target=thread_function, args=(1,))
    thread.start()
    logging.info("Exiting")

Ausgabe:

10:23:58: Thread 1: starting
10:23:58: Exiting
10:24:00: Thread 1: finishing

Threading-Visualisierung

Der Ablauf des Programms ist unten angegeben. Sobald Sie start() aufrufen, löst es thread_function() aus und läuft in einem separaten Thread. Das Hauptprogramm läuft auch parallel als weiterer Thread.

Thread in Python starten

Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

Verwandter Artikel - Python Thread