30.09.2026 · Signal Titans Editorial
Le Python Language Summit 2026 explore la concurrence orientée comportement pour l’exécution sans GIL
Lors du Summit 2026, les développeurs Python ont débattu de la concurrence orientée comportement pour sécuriser l'exécution free-threaded.

Lors du Python Language Summit 2026, Tobias Wrigstad, Fridtjof Stoldt et Donghee Na ont présenté des propositions d'abstractions de concurrence de haut niveau adaptées à l'ère post-GIL. Dans le sillage des progrès réalisés sur le free-threading grâce au PEP 779, la session s'est concentrée sur la nécessité de dépasser les interfaces de threads de bas niveau afin d'éviter les problèmes de mémoire tels que les verrous mortels et les conditions de concurrence.
Priorité à la sécurité dans les modèles de concurrence de Python
Les intervenants ont classé les modèles de concurrence selon trois compromis de conception : la vitesse, la simplicité et la sécurité. Dans ce cadre, le langage C privilégie la vitesse et la simplicité au détriment de la sécurité mémoire, Erlang met l'accent sur la sécurité et la simplicité via le passage de messages et la copie de données, tandis que Rust offre vitesse et sécurité tout en introduisant de la complexité. L'approche historique de Python, fondée sur le Global Interpreter Lock (GIL) et son verrou unique, offrait un modèle simple, alors que le Python « free-threaded » s'appuie sur une gestion des threads de plus bas niveau comparable à celle du C. Les conférenciers ont soutenu que les abstractions de concurrence de haut niveau en Python devaient donner la priorité absolue à la sécurité, puis aux performances, tout en acceptant qu'une simplicité totale puisse entrer en conflit avec la vitesse d'exécution.
Concurrence orientée comportement et preuve de concept bocpy
Pour garantir la sécurité sans imposer de verrouillage manuel de bas niveau, le trio a proposé la concurrence orientée comportement (Behavior-Oriented Concurrency ou BOC). Avec ce modèle, les programmes découpent le travail en unités de tâches possédant des données par l'intermédiaire de propriétaires concurrents nommés « Cowns ». En s'appuyant sur un décorateur `@when`, les tâches déclarent explicitement les Cowns dont elles ont besoin, permettant ainsi à un planificateur de construire un graphe complet de dépendances entre tâches et données. Cette structure garantit l'absence de verrous mortels et de conditions de concurrence, transférant la responsabilité de la sécurité d'exécution directement au planificateur du runtime.
Afin de démontrer la faisabilité de cette approche, les auteurs ont développé `bocpy`, une preuve de concept initiale disponible sur le Python Package Index (`pip install bocpy`). Implémenté à l'aide de sous-interpréteurs, `bocpy` assure l'isolation des données, la planification des tâches et la définition des Cowns. Néanmoins, comme `bocpy` s'exécute actuellement sur une version non modifiée de Python, les garanties strictes de propriété des objets au niveau du runtime ne peuvent pas encore être appliquées sans modifications du cœur du langage.
Modifications du cœur et réflexions sur l'écosystème
Garantir des limites de propriété strictes et une sécurité mémoire complète nécessitera des ajustements internes dans CPython, comme l'organisation du tas en groupes d'objets isolés ou l'introduction de fonctionnalités d'immutabilité telles que définies dans le PEP 795. Lors des échanges, les développeurs principaux ont soulevé des questions relatives aux frontières des API, à l'intégration avec `asyncio` et à l'impact sur les performances.
Certains participants ont souligné les risques d'une standardisation prématurée autour d'un modèle unique, préférant la mise à disposition de briques de base permettant à l'écosystème externe d'innover. Dans le même temps, les intervenants ont rappelé les problèmes de fragmentation observés dans d'autres langages en l'absence d'abstractions standardisées, insistant sur la recherche d'un juste équilibre pour l'environnement officiel de Python.
Illustration éditoriale générée par IA ; ce n’est pas une photographie documentaire.
Source: Free-Threaded Python Post-Era (Python Language Summit 2026)