Page tree

El acceso a las variables siempre se serializa para que el usuario no necesite una sincronización explícita, a condición de que se utilice una variable del tipo adecuado para el caso correspondiente. Cada tipo de variable determina la semántica de simultaneidad de una situación concreta. Por ejemplo, si se utiliza una variable global para almacenar una cadena que leen y escriben dos conjuntos de reglas diferentes, se garantiza que las lecturas y escrituras serán atómicas. Sin embargo, el valor actual viene determinado por la última instancia del conjunto de reglas que se escriba en la variable.
Si se utiliza una variable de conjunto de reglas para almacenar información transitoria en una cadena de reglas larga, es probable que el valor almacenado ya no se asigne a la variable en el momento en que se recupere. Lo más probable es que se haya sobrescrito con las ejecuciones posteriores del conjunto de reglas. Sin embargo, si se utilizara una variable temporal, el valor seguiría siendo correcto cuando se recuperara, ya que cada ejecución tendría su propia instancia de la variable.
En la siguiente tabla se resumen los posibles tipos de variable para cada uso:

Utilización

Tipo de variable

 

 

 

 

Global

Conjunto de reglas

Temporal

Aislar referencias externas

Quizás

No

Simplificar referencias complejas de propiedades de eventos

No

No

Mantener el estado de procesamiento o de ejecución

Quizás

Quizás


  • No labels