reentrant – 재진입성
재진입성은 메모리 내의 동일한 사본이 다중 사용자들에 의해 공유될 수 있도록 작성된 컴퓨터 프로그램이나 루틴을 설명하기 위한 형용사이다.
재진입 코드는 통상 다중사용자 시스템 내에서 공유될 목적으로 작성된 운영체계와 응용프로그램에서 필요하다.
프로그래머는 어떠한 명령어도 프로그램 내의 다른 명령어들을 위한 변수 값을 수정하지 않는다는 확신을 가지고 재진입 프로그램을 작성한다.
프로그램이 한 사용자를 위해 진입할 때마다, 그 사용자를 위한 모든 변수 값들을 유지하기 위해 데이터 공간이 확보된다.
프로그램 그 자체의 데이터 공간은 메모리의 또다른 부분에 들어 있다.
다른 사용자에게 순서를 넘기기 위해 그 프로그램이 중단될 때, 그 사용자와 관련된 데이터 공간에 관한 정보는 저장된다.
중단된 사용자의 프로그램이 다시 재개될 때, 데이터 공간에 저장된 정보가 복원되며, 그 프로그램은 프로그램 내의 다른 명령어가 변수값을 변경했을지도 모른다는 우려 없이 재진입할 수 있다.