Chapitre 19. Modèles de simultanéité en Python
Cet ouvrage a été traduit à l'aide de l'IA. Tes réactions et tes commentaires sont les bienvenus : translation-feedback@oreilly.com
La simultanéité consiste à traiter un grand nombre de choses à la fois.
Le parallélisme consiste à faire beaucoup de choses en même temps.
Ce n'est pas la même chose, mais c'est lié.
L'une concerne la structure, l'autre l'exécution.
La concomitance permet de structurer une solution pour résoudre un problème qui peut (mais pas nécessairement) être parallélisable.
Rob Pike, co-inventeur du langage Go1
Ce chapitre de traite de la façon dont Python peut traiter "beaucoup de choses à la fois", ce qui peut impliquer une programmation concurrente ou parallèle - même les universitaires qui sont férus de jargon ne sont pas d'accord sur la façon d'utiliser ces termes. J'adopterai les définitions informelles de Rob Python dans l'épigraphe de ce chapitre, mais je note que j'ai trouvé des articles et des livres qui prétendent traiter de l'informatique parallèle, mais qui traitent surtout de la concomitance.2
Le parallélisme est un cas particulier de la concurrence, selon Pike. Tous les systèmes parallèles sont concurrents, mais tous les systèmes concurrents ne sont pas parallèles. Au début des années 2000, nous utilisions des machines à un seul cœur qui géraient 100 processus simultanément sous GNU Linux. Un ordinateur portable moderne doté de 4 cœurs de processeur exécute couramment plus de 200 processus à tout ...