Effizientes Multithreading mit Python: GIL-Probleme beim Programmieren umgehen
Der Global Interpreter Lock (GIL) verhindert ein effizientes Multithreading in Python. Doch es gibt Möglichkeiten, dieses Problem zu entschärfen.
Mehr Rechenleistung bekommt man bekanntlich nur dann, wenn man den Workload auf mehrere Prozessorkerne aufteilt. Mit dem Global Interpreter Lock – kurz GIL – steht Programmierern allerdings ein Hindernis im Weg, das effizientes Multithreading in Python unmöglich macht.
In der Theorie spricht zwar nichts dagegen, eine Parallelisierungs-anfällige Applikation einfach in einer anderen Programmiersprache zu schreiben. Man könnte auch nur die Performance-relevanten Teile der Applikation in einer anderen Programmiersprache umsetzen und diese dann in das Python-System integrieren.
Doch für Python-Fans wäre es sicher ein Gräuel, in die Niederungen anderer Programmiersprachen hinabsteigen zu müssen. Eine gemischte Lösung hätte wiederum den Nachteil, dass sie schwieriger zu warten wäre. Lesen Sie also, was es mit GIL auf sich hat – und mit welchen Methoden sich dieses Problem eleganter umschiffen lässt.
URL dieses Artikels:
https://www.heise.de/-7367559
Links in diesem Artikel:
[1] https://www.heise.de/hintergrund/Programmieren-mit-Python-Doppelwuerfel-Verschluesselung-verstehen-und-umsetzen-9279040.html
[2] https://www.heise.de/ratgeber/Python-Welche-Auflistungstypen-es-gibt-und-wie-sie-verwendet-werden-9216638.html
[3] https://www.heise.de/hintergrund/Python-Wortsuchraetsel-per-Skript-erstellen-fuer-jedermann-und-Programmierer-9193956.html
[4] https://www.heise.de/ratgeber/Programmieren-lernen-mit-Python-heiss-geliebt-weil-kurz-und-verstaendlich-9061803.html
[5] https://www.heise.de/ratgeber/Einen-Sudoku-Generator-in-Python-programmieren-8645547.html
[6] https://www.heise.de/ratgeber/DB-Management-Datendubletten-mit-Python-entfernen-7166150.html
[7] https://www.heise.de/hintergrund/Python-im-Browser-Wortraetsel-mit-PyScript-programmieren-7193701.html
[8] https://www.heise.de/ratgeber/Python-Mit-vaex-grosse-Datenmengen-verwalten-7066766.html
[9] https://www.heise.de/ratgeber/Wie-Sie-Netzwerkmitschnitte-mit-Python-und-Scapy-auswerten-7168114.html
[10] https://www.heise.de/hintergrund/Google-Colab-Wie-Sie-Python-Skripte-mit-Eingabefeldern-anpassen-7142452.html
[11] https://www.heise.de/ratgeber/Algorithmen-mit-Tabellenkalkulation-Python-und-CAS-erklaert-7121997.html
[12] https://www.heise.de/hintergrund/Python-und-Django-Einstieg-in-serverseitige-Webprogrammierung-6300113.html
Copyright © 2022 Heise Medien