¿Qué es exactamente una función de reentrada?


Most de las times , la definición de reentrada se cita de Wikipedia :

Un programa de computadora o rutina es descrito como reentrante si puede ser de forma segura llamado de nuevo antes de su se ha completado la invocación anterior (es decir, se puede ejecutar con seguridad simultáneamente). Para ser reentrante, un programa o rutina de computadora:

  1. No debe contener estática (o global) no constante datos.
  2. no Debe devolver la dirección a estática (o global) no constante datos.
  3. Debe trabajar solo en los datos proporcionados a él por la persona que llama.
  4. No debe confiar en los bloqueos para singleton recurso.
  5. No debe modificar su propio código (a menos que ejecución en su propio hilo único almacenamiento)
  6. No debe llamar al equipo no reentrante programas o rutinas.

¿Cómo es con seguridad definido?

Si un programa puede ser ejecutado de forma segura al mismo tiempo, ¿siempre significa que es reentrante?

¿Cuál es exactamente el hilo común entre los seis puntos mencionados que debo tener en cuenta al verificar mi código para las capacidades de reentrada?

También,

  1. ¿Son todas las funciones recursivas reentrantes?
  2. ¿Se reentran todas las funciones seguras para subprocesos?
  3. Son todas funciones recursivas y seguras para subprocesos ¿reingresar?

Al escribir esta pregunta, una cosa viene a la mente: ¿Son los términos como reentrada y seguridad del hilo absolutos en absoluto, es decir, tienen definiciones concretas fijas? Porque, si no lo son, esta pregunta no tiene mucho sentido.


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52