Actualizado el 21 de Marzo del 2018 (Publicado el 23 de Febrero del 2018)
522 visualizaciones desde el 23 de Febrero del 2018
36,5 KB
1 página
Creado hace 19a (25/05/2004)
Tema 5. Invocación
Tema 5. Invocación
Remota
Remota
Invocación Remota
Proceso A
Proceso B
Proceso A
Proceso B
B.pe
acceptpe
begin
...
end;
B.pe
acceptpe
begin
...
end
© Alexis Quesada Arencibia
ProgramaciónConcurrente
2
Invocación Remota
process A;
(* se declara un punto de entrada pe*)
entry pe(a:integer; var b:integer);
begin
…
accept pe(a:integer; var b:integer) do
begin
b:=a
end;
…
end;
process B;
var
cont: integer;
begin
(* llamada al punto de entrada pe del proceso A
*)
A.pe(3,cont)
end;
Sentencias select
(cid:132) Espera selectiva básica
(cid:132) La única diferencia respecto a la espera selectiva estudiada
es que dentro de la sentencia select sólo se permiten
sentencias accept (no se permiten llamadas a puntos de
entrada como alternativas)
(cid:132) Espera selectiva con guardas
(cid:132) Espera selectiva con la alternativa terminate
(cid:132) Espera selectiva con la alternativa else
(cid:132) Espera selectiva con la alternativa timeout
© Alexis Quesada Arencibia
ProgramaciónConcurrente
3
© Alexis Quesada Arencibia
ProgramaciónConcurrente
4
Sentencias select
ESPERA SELECTIVA BÁSICA
select
accept pe1(a:integer;var b integer) do
begin
(* sentencias *)
end;
(* más sentencias *)
or
accept pe2(a:integer) do
begin
(* sentencias *)
end;
(* más sentencias *)
or
…
or
accept peN(a: character) do
begin
(* sentencias *)
end;
(* más sentencias *)
end
Ejercicios
(cid:132) Resolver el problema de la exclusión
mutua en el acceso a variables
compartidas entre diferentes procesos
mediante Invocación Remota
(cid:132) Problemas clásicos
© Alexis Quesada Arencibia
ProgramaciónConcurrente
5
© Alexis Quesada Arencibia
ProgramaciónConcurrente
6
1
Comentarios de: Tema5. Invocación Remota (0)
No hay comentarios