Variables de clase local de hebra
Se crea una instancia de una variable local de hebra por hebra rastreada la primera vez que emite un bloque de acciones que asigna un valor a la variable. Una vez creada, la variable local de hebra existe siempre que el script Vue esté activo y la hebra rastreada no salga. El valor de la variable local de hebra es específico de hebra y se conserva entre ejecuciones de cualquiera de las cláusulas del mismo programa. En otras palabras, las variables de esta clase son visibles en todas partes dentro del script Vue . Sin embargo, cada hebra que emite el script Vue obtiene su propia copia de estas variables y las variables de cada una de ellas son accesibles y modificables en cualquier lugar del script sólo por la hebra que las ha instanciado.
Una variable local de hebra se distingue utilizando el prefijo thread: . Por ejemplo, thread:count indica una variable local de hebra. También puede declarar variables locales de hebra utilizando la sentencia de declaración __thread en cuyo caso el prefijo thread: se puede omitir con la siguiente excepción.
Puede utilizar una variable local de hebra en la sección de predicado de una cláusula Vue incluso antes de que se instancie. Los predicados con variables locales de hebra no instanciadas siempre se evalúan en un valor de FALSE. Cuando se utiliza en la sección de predicado, el prefijo thread: siempre debe incluirse para identificarlo como una variable local de hebra.
El script siguiente es un ejemplo de la sentencia de declaración __thread :
__thread int i; /* Explicit declaration */
thread:j = 0; /* Implicit declaration */