Diferencia entre revisiones de «Programación en Ada/Tareas/Selección de citas»
Contenido eliminado Contenido añadido
mSin resumen de edición |
m Plantillas |
||
Línea 12:
seleccción_aceptación_cita ::=
{{Ada/Reservada|select}}
[ {{Ada/Reservada|when}} condición => ]
( acceptación_cita | ( {{Ada/Reservada|delay}} [ {{Ada/Reservada|until}} ] expresión )
[ secuencia_de_sentencias ] )
| ( {{Ada/Reservada|terminate}} ; ) )
{ {{Ada/Reservada|or}}
[ {{Ada/Reservada|when}} condición => ]
( acceptación_cita | ( {{Ada/Reservada|delay}} [ {{Ada/Reservada|until}} ] expresión )
[ secuencia_de_sentencias ] )
| ( {{Ada/Reservada|terminate}} ; ) ) }
[ {{Ada/Reservada|else}}
sequencia_sentencias ]
{{Ada/Reservada|end}} {{Ada/Reservada|select}} ;
Esta alternativa de sentencia select permite una combinación de espera y
Línea 42:
Por ejemplo:
{{Ada/Reservada|task}} Servidor {{Ada/Reservada|is}}
{{Ada/Reservada|entry}} Trabajar;
{{Ada/Reservada|entry}} Cerrar;
{{Ada/Reservada|end}};
{{Ada/Reservada|task}} {{Ada/Reservada|body}} Servidor {{Ada/Reservada|is}}
{{Ada/Reservada|begin}}
{{Ada/Reservada|loop}}
{{Ada/Reservada|select}}
{{Ada/Reservada|accept}} Trabajar {{Ada/Reservada|do}} {{Ada/--
Trabajando := True; {{Ada/--
{{Ada/Reservada|end}};
Trabajo_servidor; {{Ada/--
{{Ada/Reservada|or}}
{{Ada/Reservada|accept}} Cerrar; {{Ada/--
{{Ada/Reservada|exit}};
{{Ada/Reservada|or}}
{{Ada/Reservada|delay}} (60.0); {{Ada/--
Put ("Estoy esperando trabajar.");
{{Ada/--
{{Ada/--|{{Ada/Reservada|or}}}}
-- {{Ada/--
{{Ada/--
{{Ada/Reservada|end}} {{Ada/Reservada|select}};
{{Ada/Reservada|end}} {{Ada/Reservada|loop}};
{{Ada/Reservada|end}} Server;
Como otro ejemplo, para garantizar la exclusión mutua a una variable
Línea 72:
de la siguiente manera:
{{Ada/Reservada|task}} Variable_protegida {{Ada/Reservada|is}}
{{Ada/Reservada|entry}} Leer (Elem: {{Ada/Reservada|out}} TElemento);
{{Ada/Reservada|entry}} Escribir (Elem: TElemento);
{{Ada/Reservada|end}};
{{Ada/Reservada|task}} {{Ada/Reservada|body}} Variable_protegida {{Ada/Reservada|is}}
ElemLocal: TElemento;
{{Ada/Reservada|begin}}
{{Ada/Reservada|accept}} Escribir (Elem: TElemento) {{Ada/Reservada|do}}
ElemLocal := Elem;
{{Ada/Reservada|end}} Escribir;
{{Ada/Reservada|loop}}
{{Ada/Reservada|select}}
{{Ada/Reservada|accept}} Escribir (Elem: TElemento) {{Ada/Reservada|do}}
ElemLocal := Elem;
{{Ada/Reservada|end}} Escribir;
{{Ada/Reservada|or}}
{{Ada/Reservada|accept}} Leer (Elem: {{Ada/Reservada|out}} TElemento) {{Ada/Reservada|do}}
Elem := ElemLocal;
{{Ada/Reservada|end}} Leer;
{{Ada/Reservada|end}} {{Ada/Reservada|select}};
{{Ada/Reservada|end}} {{Ada/Reservada|loop}};
{{Ada/Reservada|end}} Variable_protegida;
La primera sentencia de la tarea es un accept del punto de entrada
Línea 119:
== Manual de referencia de Ada ==
*
|