Reglas Sugeridas Para Seguros - Parallax Propeller P8X32A Manual Del Usuario

Tabla de contenido

Publicidad

Usando
LOCKNEW
Un recurso definido por usuario mutuamente exclusivo debe iniciarse por un cog, entonces el
mismo cog deberá usar
recurso y pase el ID de ese seguro a cualquier otro cog que lo requiera. Por ejemplo:
VAR
byte SemID
PUB SetupSharedResource
<código para activar el recurso compartido definido por usuario>
if (SemID := locknew) == -1
<error, no hay seguros disponibles>
else
<comparte el valor de SemID con otros cogs>
El ejemplo de arriba llama a
SemID
ocurrirá un error. Si
necesita compartirse con otros cogs junto con la dirección del recurso para el que
usado. El método usado para comunicar el
aplicación , pero típicamente los dos se pasan como parámetros al método spin que se inicia
en un cog o como el parámetro
COGNEW
, Pág. 81.

Reglas Sugeridas para Seguros

Los siguientes son unas reglas sugeridas para usar los seguros.
Los objetos que necesitan un seguro para administrar un recurso mutuamente
exclusivo definido por el usuario deberá activar un seguro usando
el ID de regreso, aqui lo llamaremos
seguro. El cog que activo el seguro debe comunicar
usaran el recurso.
Cualquier cog que necesite el recurso debe activar primero con éxito el seguro
Un exitoso "activado" es cuando
TRUE
, entonces otro cog debe estar accesando el recurso y deberá esperar e intentar
después hasta obtener un exitoso "activo".
El cog que logro un "activo" con éxito puede manipular el recurso como sea
necesario. Cuando esta hecho debe limpiar el seguro a través de
otro cog puede tener acceso al recurso. En un sistema bien hecho el resultado de
2: Referencia de Lenguaje Spin –
LOCKNEW
para verificar un seguro único en el cual administre ese
LOCKNEW
y almacena el resultado en
no es -1 entonces un seguro valido fue extraído y ese
SemID
PAR
cuando inicia una rutina ensamblador en un cog. Ver
SemID
LOCKSET(SemID)
SemID
. Si ese resultado es -1
y la dirección del recurso depende de la
. Solamente un cog deberá activar este
SemID
a todos los demás cogs que
FALSE
regresa
. Si
LOCKCLR(SemID)
LOCKNEW
SemID
SemID
es
LOCKNEW
y guardar
SemID
.
LOCKSET
regreso
así

Publicidad

Tabla de contenido
loading

Este manual también es adecuado para:

Propeller p8x32a-d40Propeller p8x32a-q44Propeller p8x32a-m44

Tabla de contenido