Informationen zur Technologie

Python ist eine universelle, höhere Programmiersprache, die gut lesbar ist. Sie unterstützt mehrere Programmierparadigmen, wie die objektorientierte, die funktionale und die aspekt-orientierte Programmierung und bietet eine dynamische Typisierung. Sie wird oft als Skriptsprache eingesetzt.


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

    offene Schulung
    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.
    Firmenschulung
    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:
    • Hamburg
    • Berlin
    • Frankfurt
    • München
    • Nürnberg
    • Düsseldorf
    • Wien
    Starttermin:individuelle Vereinbarung
    Unterlagen:zzgl.
    Verpflegung:zzgl.
    Prüfung/Zertifizierung:zzgl.

    Software

    python3, anaconda3, pip, pyenv, vscode,



    Seminarsprache

    die Seminarsprache ist deutsch, sofern keine andere Angabe. Englisch ist in aller Regel machbar, andere Seminarsprachen sind möglich, fragen Sie bitte an.