2011-11-30 14 views
6

Duplicar posible:
What is thread safe or non thread safe in PHP¿Qué significa hilo seguro en un contexto PHP?

¿Qué significa cuando algo es o no es hilo de seguridad?

Por ejemplo, setlocale() en PHP no está hilo de seguridad:

La información de configuración regional se mantiene por proceso, no por hilo. Si está ejecutando PHP en una API servidor multiproceso como IIS o Apache en Windows, puede experimentar cambios repentinos en la configuración regional mientras se está ejecutando una secuencia de comandos , aunque la secuencia de comandos nunca llamó setlocale(). Esto sucede debido a que otros scripts se ejecutan en diferentes hilos del mismo proceso al mismo tiempo, cambiando la configuración regional de todo el proceso utilizando setlocale().

http://php.net/manual/en/function.setlocale.php

¿Qué tiene esto prácticamente significa? ¿Es bueno que algo sea seguro o no?

¿Bajo qué condiciones necesita una solución de seguridad para sus problemas que sea segura o no?

+0

¿Leyó esa parte donde explica que se refiere solo a ciertas configuraciones de servidor web? No es algo que puedas elegir o usar. Y 'setlocale' es un buen ejemplo de posibles efectos secundarios. (Excepto que realmente funciona por subproceso en versiones recientes de Windows). – mario

Respuesta

4

hilo de seguridad es una buena cosa, significa que si bien puede haber múltiples subprocesos simultáneos, que se comunican entre sí de una manera segura que no va a tener condiciones de carrera, problemas de concurrencia, etc.

La seguridad de subprocesos es un concepto de programación de computadora aplicable en el contexto de programas de subprocesos múltiples. Un trozo de código es seguro para subprocesos si solo manipula estructuras de datos compartidas de forma segura para subprocesos, , que permite la ejecución segura por varios subprocesos al mismo tiempo. Existen varias estrategias para hacer estructuras de datos seguras para hilos.

Source.

Cuestiones relacionadas