I datavitenskap er reentrancy egenskapen til en funksjon av å være brukbar samtidig av flere brukeroppgaver. Reentrancy gjør det mulig å unngå duplisering i RAM av et program som brukes samtidig av flere brukere. Hvis en funksjon av flere tråder må få tilgang til en global variabel, er det tilstrekkelig å omgi den med Mutexes.
Å skrive reentrant-kode pleide å være En veldig vanskelig oppgave. Det er forenklet med gjeldende språk som tillater:
Den kjerne av et operativsystem har ofte ikke-innadgående deler for å unngå sjenerende komplikasjoner (uoverensstemmelse av kritiske data, tap av ytelse). Skriften av moduler som skal utføres i kjerneplassen forblir av denne grunn delikat.
Den reentrancy av funksjoner er ikke nødvendigvis garantert av alle programmeringsspråk . Dermed vil for eksempel en funksjon skrevet i Ada alltid være reentrant mens en funksjon skrevet i C ikke er som standard . Ikke-reentrancy av en funksjon er sjelden et problem i single-task programmering, men kan gi katastrofale resultater i samtidig programmering .
De to begrepene reentrancy og trådsikker gjelder måten funksjoner styrer ressurser på. Begrepet reentrancy har innvirkning på funksjonens eksterne grensesnitt, mens begrepet trådsikkert gjelder koding av funksjonen.
Merk at ingen av disse egenskapene innebærer den andre: