Pregunta

Me pregunto si hay algunas implicaciones serias que podría ser la creación por mí mismo mediante el uso de los locales de rosca. Noté que en el caso del frasco, que utilizan los locales de rosca , y la mención que puede causar problemas con los servidores que no se construyen con hilos en mente. ¿Es esta una preocupación obsoleta? Estoy usando los locales de rosca con Django para algunas cosas, desplegando con Nginx frente a UWSGI o Gunicorn, en Ubuntu 10.04 con Postgres (no es que el sistema operativo o DB probablemente la materia, pero sólo para mayor claridad). ¿Tengo que estar preocupado?

¿Fue útil?

Solución

Threadlocals no son la forma más robusta y segura de hacer las cosas - echa un vistazo a esta nota , por ejemplo. [Aunque también ver el comentario de Glenn, a continuación]

supongo que si ha codificado limpiamente, con la idea de que usted está poniendo las cosas en una olla grande global de la información, la aceptación de la consistencia de datos no garantizado en esos locales roscados y cuidar a las condiciones de carrera EVITAR, etc, etc, es posible así estar bien.

Sin embargo, incluso con esto en mente, aún existe la 'magic'ness de VARs locales roscados, de modo que documenta claramente qué diablos está pasando y cada vez que se utiliza un var threadedlocal podría ayudarle a / desarrolladores futuras de la base de código abajo la línea.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top