LOCKCLR
– Referencia de Lenguaje Spin
LOCKCLR
instrucción: Limpia el seguro a falso y obtiene su estado previo.
((PUB
PRI))
LOCKCLR
( ID )
Regresa: Estado previo de lock (
ID
es el ID (0 – 7) del lock para limpiar a falso.
Explicación
LOCKCLR
es uno de cuatro comandos (
administrar recursos que son definidos por usuario y se consideran mutuamente exclusivos.
LOCKCLR
limpia el ID de Lock a
Vea Acerca de los Seguros, Pág. 126, y Reglas Sugeridas para Seguros, Pág. 127 para
información de los típicos usos de locks e instrucciones
Lo siguiente da por entendido que un cog (ya sea este u otro) utilizo un lock usando
y compartió el ID con este cog el cual se grabo como
tiene un arreglo de longs que se llama
PUB ReadResource | Idx
repeat until not lockset(SemID) 'espera hasta asegurar el recurso
repeat Idx from 0 to 9
LocalData[Idx] := long[Idx]
lockclr(SemID)
PUB WriteResource | Idx
repeat until not lockset(SemID) 'espera hasta bloquear el recurso
repeat Idx from 0 to 9
long[Idx] := LocalData[Idx]
lockclr(SemID)
ReadResource
Ambos métodos,
accesar el recurso. Primero esperan indefinidamente al primer ciclo
bloquea el recurso; ejemplo: activo exitosamente el candado asociado. Si
TRUE
until not lockset
, la condición "
actualmente accesando el recurso, así que el primer ciclo repeat intenta otra vez. Si
FALSE
regresa
, la condición "until not lockset..." es verdadera lo que significa que hemos
Pagina 124 · Manual Propeller v1.1
TRUE
FALSE
o
).
LOCKNEW
LOCKRET
,
FALSE
y recupera el estado previo de ese lock (
LocalData
.
'lee los 10 longs del recurso
'desbloquea el recurso
'esribe 0 longs al recurso
'desbloquea el recurso
WriteResource
y
, siguen las mismas reglas antes y después de
FALSE
..." es
, lo cual significa que algún otro cog esta
LOCKSET
LOCKCLR
,
, y
) que se usan para
LOCK
xxx.
SemID
. también asume que este cog
REPEAT
LOCKSET
TRUE
FALSE
o
).
LOCKNEW
hasta que se
regresa
LOCKSET