17. Exécution concourante¶
Les modules documentés dans ce chapitre fournissent des outils d’exécution concourante de code. Le choix de l’outil approprié dépend de la tâche à exécuter (limitée par le CPU (CPU bound), ou limitée la vitesse des entrées-sorties (IO bound)) et du style de développement désiré (coopération gérée par des évènements ou multitâche préemptif). En voici un survol :
- 17.1.
threading
— Parallélisme basé sur les fils d’exécution (threads) - 17.2.
multiprocessing
— Parallélisme par processus- 17.2.1. Introduction
- 17.2.2. Référence
- 17.2.2.1.
Process
et exceptions - 17.2.2.2. Tubes (pipes) et Queues
- 17.2.2.3. Divers
- 17.2.2.4. Objets de connexions
- 17.2.2.5. Primitives de synchronisation
- 17.2.2.6. Objets
ctypes
partagés - 17.2.2.7. Gestionnaires
- 17.2.2.8. Objets mandataires
- 17.2.2.9. Bassins de processus
- 17.2.2.10. Auditeurs et Clients
- 17.2.2.11. Clés d’authentification
- 17.2.2.12. Journalisation
- 17.2.2.13. Le module
multiprocessing.dummy
- 17.2.2.1.
- 17.2.3. Lignes directrices de programmation
- 17.2.4. Exemples
- 17.3. Le paquet
concurrent
- 17.4.
concurrent.futures
— Launching parallel tasks - 17.5.
subprocess
— Gestion de sous-processus- 17.5.1. Utiliser le module
subprocess
- 17.5.2. Considérations de sécurité
- 17.5.3. Objets Popen
- 17.5.4. Utilitaires Popen pour Windows
- 17.5.5. Ancienne interface (API) haut-niveau
- 17.5.6. Remplacer les fonctions plus anciennes par le module
subprocess
- 17.5.7. Remplacement des fonctions originales d’invocation du shell
- 17.5.8. Notes
- 17.5.1. Utiliser le module
- 17.6.
sched
— Event scheduler - 17.7.
queue
— File synchronisée
Les modules suivants servent de fondation pour certains services cités ci-dessus.