Aller au contenu

Concurrence en programmation

Organiser plusieurs tâches pour que leurs périodes de traitement puissent se chevaucher.

Également appeléConcurrency
Architecture logicielle

Qu’est-ce que la concurrence en programmation ?

La concurrence organise des tâches dont les traitements se chevauchent. Elles peuvent progresser tour à tour sur un processeur, notamment lorsqu’une tâche attend des données. Une exécution réellement simultanée n’est pas nécessaire : c’est le parallélisme. Les parcours concurrents demandent de gérer ordre, résultats et état partagé.

Dans un portail fictif, plusieurs récupérations de documents avancent pendant le traitement d’autres demandes. L’ordre des réponses peut différer de l’ordre de départ. L’équipe relie chaque résultat à la bonne demande et empêche une ancienne réponse de remplacer silencieusement un état plus récent. La concurrence peut utiliser les ressources pendant l’attente, sans garantir débit supérieur ni données sans erreur. Coordination adaptée et états d’erreur vérifiés restent nécessaires.

Sources