Actualizado el 21 de Marzo del 2018 (Publicado el 23 de Febrero del 2018)
606 visualizaciones desde el 23 de Febrero del 2018
42,9 KB
6 paginas
Creado hace 20a (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;
© Alexis Quesada Arencibia
ProgramaciónConcurrente
3
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
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
© Alexis Quesada Arencibia
ProgramaciónConcurrente
5
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
6
Comentarios de: Tema 4 - Paso de Mensaje Síncrono con Canales (0)
No hay comentarios