Introduction
En informatique, la réentrance est la propriété pour un morceau de programme d'être utilisé simultanément par plusieurs tâches utilisatrices. La réentrance permet d'éviter la duplication en mémoire vive d'un programme utilisé simultanément par plusieurs utilisateurs.
L'écriture de code réentrant était autrefois une tâche très ardue. Elle s'est simplifiée avec les langages actuels qui autorisent :
- l'allocation dynamique de mémoire,
- la séparation, dans des segments distincts, du code et des données,
- la gestion de piles.
Le noyau d'un système d'exploitation comporte souvent des parties non-réentrantes afin d'éviter des complications fâcheuses (incohérence de données critiques, perte de performances). L'écriture de modules destinés à être exécutés dans l'espace noyau reste, pour cette raison, délicate.