Chapitre d’ouvrage

Annexe C. Quelque chose de complètement différent : Async

Pages 521 à 526

Citer ce chapitre


  • Lubanovic, B.
(2022). Annexe C. Quelque chose de complètement différent : Async. Python : Comprendre les bases et maitriser la programmation (p. 521-526). De Boeck Supérieur. https://stm.cairn.info/python--9782807334731-page-521?lang=fr.

  • Lubanovic, Bill.
« Annexe C. Quelque chose de complètement différent : Async ». Python Comprendre les bases et maitriser la programmation, De Boeck Supérieur, 2022. p.521-526. CAIRN.INFO, stm.cairn.info/python--9782807334731-page-521?lang=fr.

  • LUBANOVIC, Bill,
2022. Annexe C. Quelque chose de complètement différent : Async. In : Python Comprendre les bases et maitriser la programmation. Louvain-la-Neuve : De Boeck Supérieur. Informatique, p.521-526. URL : https://stm.cairn.info/python--9782807334731-page-521?lang=fr.

Nos deux premières annexes étaient destinées aux programmeurs débutants, mais celle-ci s’adresse à ceux qui sont un peu avancés.
Comme la plupart des langages de programmation, Python a été synchrone. Il parcourt le code de manière linéaire, une ligne à la fois, de haut en bas. Lorsque vous appelez une fonction, Python saute à son code et l’instruction appelante attend le retour de la fonction avant de reprendre son cours.
Votre CPU ne peut faire qu’une seule chose à la fois, une exécution synchrone est donc parfaitement logique. Cependant il s’avère que souvent un programme n’exécute pas de code mais attend quelque chose, comme les données d’un fichier ou d’un service réseau. C’est comme si nous regardions un écran de navigateur en attendant qu’un site se charge. Si nous pouvions éviter d’être « occupés à attendre », nous pourrions raccourcir la durée totale de nos programmes. Cela s’appelle également l’amélioration des transferts.
Dans le chapitre 15, vous avez vu que si vous voulez une certaine concurrence, vos choix incluaient les threads, les processus ou une solution tierce comme gevent ou twisted. Mais il existe maintenant un nombre croissant de réponses asynchrones, à la fois intégrées à Python et à des solutions tierces. Celles-ci coexistent avec le code Python synchrone habituel, mais, pour emprunter un avertissement de Ghostbusters, vous ne pouvez pas faire se croiser les flux. Je vais vous montrer comment éviter des effets secondaires cataclysmiques…


Date de mise en ligne : 23/06/2023

Ce chapitre est en accès conditionnel

Acheter ce chapitre

3,00 €

6 pages format électronique (HTML, PDF et feuilletage)
Membre d'une institution cliente ?