Python 3.13 bekommt ein Flag, um den Global Interpreter Lock zu deaktivieren. Er gilt als Hemmschuh für Multithreading-Anwendungen.
Nach langer Diskussion und Vorbereitung ist nun eine Änderung in die Programmiersprache Python eingeflossen, die es erlaubt, den Global Interpreter Lock zu deaktivieren. Damit lässt sich ein Bremsklotz für Multithreading-Anwendungen entfernen.
, um Thread-Sicherheit zu garantieren und Race Conditions zu verhindern. Letztere treten auf, wenn mehrere parallel laufende Prozesse eines Programms auf dieselben Daten zugreifen, um sie zu verändern, womit je nach Ablauf unterschiedliche Ergebnisse auftreten können. Der Global Interpreter Lock sorgt dafür, dass jeweils nur ein Thread aktiv läuft. Das verhindert zwar Race Conditions, bedeutet aber auch, dass Python das Potenzial von Multiprozessorsystemen beziehungsweise Mehrkernprozessoren nicht effizient nutzen kann.Das Python Steering Council hat im Sommer 2023 eine Umfrage durchgeführt, um herauszufinden, ob die Mehrheit des Core-Developer-Teams eine bessere Multithreading-Variante wünsche und dazu bereit sei, den Aufwand und die Probleme auf sich zu nehmen, die mit dem PEP 703 in der Übergangsphase zu erwarten sind.In Python 3.13 wird der Global Interpreter Lock noch standardmäßig aktiviert und über das Flag manuell abschaltbar sein. Ein Grund dafür ist, dass das Entwicklungsteam für den Übergang mit einigen Bugs rechnet. Sobald die Probleme behoben sind, dürfte Python standardmäßig ohne GIL laufen.
