Einkaufswagen
Loading
Nur noch -1 verfügbar

Nebenläufigkeit in Python- Threads, AsyncIO und Multiprocessing

Aktionspreis
€12.99 (25 % Rabatt)
€9.74
Zum Einkaufswagen hinzugefügt

Nebenläufigkeit in Python: Threads, AsyncIO und Multiprocessing


Ein praxisorientierter Leitfaden zur effizienten Ausführung mehrerer Aufgaben gleichzeitig – synchron, asynchron und parallel


Inhaltsverzeichnis


Kapitel 1: Einführung in Nebenläufigkeit und Parallelität


  • Was ist Nebenläufigkeit? Was ist Parallelität?
  • Unterschied: Threading, Multiprocessing, AsyncIO
  • IO-bound vs. CPU-bound Aufgaben
  • Wann lohnt sich welches Modell?

Kapitel 2: Nebenläufigkeit mit threading


  • Das threading-Modul verstehen
  • Threads erstellen und starten
  • .join(), Lock, RLock, Semaphore
  • Mini-Projekt: Gleichzeitiger Zugriff auf eine Ressource

Kapitel 3: Gefahren und Herausforderungen mit Threads


  • Race Conditions und Deadlocks
  • Der Global Interpreter Lock (GIL)
  • Thread-sicherer Code mit Locks
  • Mini-Projekt: Sicherer Thread-Zähler

Kapitel 4: Aufgaben parallelisieren mit multiprocessing


  • Warum multiprocessing für CPU-intensive Aufgaben?
  • Prozesse starten, Daten übergeben
  • Queue, Pipe, Pool
  • Mini-Projekt: Parallele Primzahlsuche

Kapitel 5: Prozesse koordinieren und synchronisieren


  • Gemeinsame Ressourcen (Shared Memory)
  • Unterschiede zu threading
  • Fehlerbehandlung in Kindprozessen
  • Mini-Projekt: Bildkonvertierung in mehreren Prozessen

Kapitel 6: Asynchrone Programmierung mit asyncio


  • Coroutines mit async def und await
  • Event Loop und Task Scheduling
  • asyncio.sleep, gather, create_task
  • Mini-Projekt: Mehrere Webanfragen gleichzeitig abarbeiten

Kapitel 7: Kombinieren von asyncio mit IO-bound Aufgaben


  • Arbeiten mit aiohttp, aiomysql, aiosqlite
  • Async-Datenbank- und Netzwerkzugriffe
  • Mini-Projekt: Asynchroner Web-Scraper

Kapitel 8: Nebenläufigkeit strukturieren mit concurrent.futures


  • ThreadPoolExecutor vs. ProcessPoolExecutor
  • submit(), map(), as_completed()
  • Mini-Projekt: Parallele Analyse von Textdateien

Kapitel 9: Best Practices für nebenläufige Python-Programme


  • Lesbarkeit vs. Leistung
  • Fehlerbehandlung, Timeout und Abbruchbedingungen
  • Logging in Multi-Thread- und Multi-Process-Umgebungen
  • Kombinierte Modelle in realen Projekten

Kapitel 10: Wann welches Modell?


  • Entscheidungsbaum: threading vs. asyncio vs. multiprocessing
  • Kriterien: Geschwindigkeit, Speicher, Einfachheit
  • Empfehlungen für Web-Apps, Datenverarbeitung, Tools
  • Mini-Projekt: Mixed-Model-Szenario (Web-Scraping + Analyse)

Anhang A: Übersicht wichtiger Methoden und Module


  • threading, multiprocessing, asyncio, concurrent.futures
  • Kurzreferenz der wichtigsten Funktionen

Anhang B: Typische Fehler und deren Vermeidung


  • RuntimeError, CancelledError, BrokenPipeError, TimeoutError
  • Schutz vor Nebenläufigkeitsfallen

Anhang C: Übungsaufgaben mit Lösungen


  • Mehrere Aufgaben gleichzeitig starten
  • Web-Anfragen und Dateioperationen kombinieren
  • Fehlerbehandlung und Performance vergleichen
  • Ausführliche Lösungen mit Kommentaren


Sie erhalten die folgenden Dateien:
  • EPUB (104KB)
  • PDF (1MB)