Python 3.x - Einführung in die konkurrierende Programmierung - Schulung (2 Tage)
Kurzbeschreibung
In dieser Python-Schulung lernen die Teilnehmer die verschiedenen Möglichkeiten der nebenläufigen Programmierung in Python und das Managen des Multithreadings sowie die Kommunikation zwischen Prozessen in ihren Apps kennen. Die behandelten Themen umfassen u.a. die Nebenläufigkeit / Parallelisierung, das Multiprocessing, die reaktive und ereignisgesteuerte Programmierung, die Threads und deren Synchronisation sowie die Verwendung der GPU.
Voraussetzungen
• keine
Seminarinhalt
Leistungsprobleme
• Beschleunigen
• Geschichte der Nebenläufigkeit / Parallelität
• Prozesse und Light-Wight-Prozesse
• Threads und Multithreading
• Multiprocessing
• Reaktive Programmierung
• GPU-Programmierung
• Die Einschränkungen von Python
• Gleichzeitiger Bilddownload
• Verbesserung der Zahlenverarbeitung durch Mehrfachverarbeitung
Parallelisierung
• Die Bedeutung der Nebenläufigkeit
• I/O-Engpässe (Bottlenecks)
• Die Bedeutung der Parallelität
• Das Arbeiten der Programme auf einer CPU
• Systemarchitekturstile
• Computerspeicher-Architekturstile
Das Leben eines Threads
• Threads in Python
• Umgang mit Threads in Python
• Der Umgang des Betriebssystems mit Threads
• Multithreading-Modelle
Synchronisation zwischen Threads
• Threads-Synchronisation
• Gemeinsame Ressourcen und Data Race
Kommunikation zwischen Threads
• Standarddatenstrukturen
• Das Definieren von eigenen thread-sicheren Kommunikationsstrukturen
• Interprozesskommunikation IPC
Debugging und Benchmark
• Teststrategien
• Debuggen
• Benchmarking
• Profiling
Executors und Pools
• Nebenläufige Futures
• Future Objekte
• ProcessPoolExecutor
• Verbesserung unseres Crawlers
• Concurrent.futures in Python 2.7
Multiprocessing
• Der Global interpreter lock
• Den GIL aushebeln
• Das Leben eines Prozesses
• Multiprocessing pools
• Kommunikation zwischen Prozessen
• Multiprozessor-Manager
• Kommunikation sequentieller Prozesse
• Python Mutex
Ereignisgesteuerte Programmierung
• Ereignissteuerung, IDLE und Nachrichtenschleifen
• Arbeiten mit Warteschlangen (simplequeue)
• Asyncio
• Debuggen von Asyncio-Programmen
• Twisted
• Gevent
Reaktive Programmierung
• Die Bedeutung der reaktiven Programmierung
• Grundlegende reaktive Programmierung
• ReactiveX oder RX
• PyFunctional
Verwendung der GPU
• Einführung in GPUs
• Verwendung der GPU
• Gründe zur Verwendung der GPU
• CUDA und PyCUDA
• Numba
• Accelerate
Zielgruppen
• Python Programmierer
Preise und Termine
Eine offene Schulung findet in einem unserer Schulungszentren statt.
Dauer: | 2 Tage |
Preis: | 1.100,00 € zzgl. USt. pro Teilnehmer (1.309,00€ inkl. USt.) |
Seminarstandorte: | |
Starttermine: (ortsabhängig) | |
Unterlagen: | zzgl. |
Verpflegung: | zzgl. |
Prüfung/Zertifizierung: | zzgl. |
Eine Firmenschlung kann sowohl bei Ihnen vor Ort als auch in einem unserer Schulungszentren stattfinden.
Dauer: | 2 Tage |
Preis ab: | 1.350,00 € zzgl. USt. pro Tag (1.606,50€ inkl. USt.) |
Schulungszentren: |
|
Starttermin: | individuelle Vereinbarung |
Unterlagen: | zzgl. |
Verpflegung: | zzgl. |
Prüfung/Zertifizierung: | zzgl. |
Software
python3, anaconda3, pip, pyenv, vscode,
Verwandte Schulungen
Python 3.x - Konkurrierende Programmierung - Prozesse, Threads und asynchrone Programmierung - SchulungPython 3.x - Algorithmen und Datenstrukturen - SchulungPython 3.8 - Clean Code - Schulung
Seminarsprache
die Seminarsprache ist deutsch, sofern keine andere Angabe. Englisch ist in aller Regel machbar, andere Seminarsprachen sind möglich, fragen Sie bitte an.