Un equivalente a Java volátil en Python

Pablo:

¿El Python tiene el equivalente a la de Java volatileconcepto?

En Java no es una palabra clave volatile. Por lo que yo sé, cuando utilizamos volatilemientras que declara una variable, cualquier cambio en el valor de esa variable será visible a todos los subprocesos que se ejecutan al mismo tiempo.

Yo quería saber si hay algo similar en Python, por lo que cuando se cambia el valor de una variable en una función, su valor será visible a todos los subprocesos que se ejecutan al mismo tiempo.

Martijn Pieters:

Por lo que yo sé, cuando usamos volátil, mientras que declarar una variable, cualquier cambio en el valor de esa variable será visible a todos los subprocesos que se ejecutan al mismo tiempo.

volatilees un poco más matizada que eso. volatileasegura que las tiendas de Java y los cambios del valor de la variable en la memoria principal . Sin volatile, la JVM es libre para almacenar el valor en la memoria caché de la CPU en lugar, que tiene el efecto secundario de cambios en el valor de ser invisible a diferentes subprocesos que se ejecutan en diferentes núcleos de la CPU (hilos que se están ejecutando al mismo tiempo en el mismo núcleo serían ver la valor).

Python no vuelvas a hacer esto. Python almacena todos los objetos en un montón, en la memoria principal. Además, debido a cómo los usos de bucle intérprete de Python de bloqueo (el GIL), sólo un hilo a la vez habrá activamente la ejecución de código Python. Nunca hay una posibilidad de que diferentes hilos están ejecutando un bucle intérprete de Python en una CPU diferente.

Por lo que no es necesario el uso volatilede Python, no hay tal concepto y que no es necesario preocuparse por ello.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=167436&siteId=1
Recomendado
Clasificación