.


:




:

































 

 

 

 





 

.

, , , .

. , , , , .

3.1.12.2

 

, , .

. VAR V: SHARED T; , . REGION V DO S.

 

VAR R: SHARED T1;

Q: SHARED T2;

Begin

Parbegin

1:... L1: REGION R DO S1;...

2:... L2: REGION Q DO S2;...

...........

i:... Li: REGION R DO S3;...

Parend;

End.

 

1- i- R .

V: SHARED T , V, , . T.

V REGION V DO S. V S, . .

, , - , REGION. .

 

TYPE T = ARRAY 1..100 OF INTEGER;

VAR M: SHARED T;

Begin

Parbegin

1: L1: < >

REGION M DO < M>;

GOTO L1;

..................

N: Ln: < >

REGION M DO < M>;

GOTO Ln;

Parend;

End.

 

 

 

. , , .

AWAIT. REGION. . , , REGION. AWAIT , , . . , .

:

- , , ;

- , , , , , AWAIT .

, , - - .

TYPE T = ARRAY 1..100 OF INTEGER;

VAR M: SHARED T;

: BOOLEAN;

BEGIN

:=TRUE;

PARBEGIN 1: begin

m1: < >

Region m do begin

Await();

< >

:= true;

End;

Goto m1;

End;

2: begin

m2: < >

Region m do begin

< >

:= false;

End;

Goto m2;

End;

Parend;

End.

 

 

, .

 

- , .

. , , .

 

( )

 

, REGION AWAIT COUSE , .

VAR E: EVENT R.

, R.

. , AWAIT.

COUSE - , E, .

. . COUSE.

.

R, M . R . , , . R. , .

 

BEGIN

TYPE RES = 1..M, P = 1..N;

VAR INF: SHARED RECORD

_: sequence of res;

: queue of p;

_: array p of event r;

end;

 

procedure reserve(: p; var : res)

begin

region inf do begin

while empty(_) do

begin

enter(, );

await(_());

end;

GET (, _);

 

end;

 

procedure release(: res)

begin

var : ;

region inf do

begin

put(, _);

if (not empty()) then

begin

remove(, );

couse(_());

end;

end;

end;

 

parbegin

M1: begin

VAR R1:RES;

m1: < >

Reserve(1, var r1);

< r ,

r1>

release(r1);

goto m1;

end;

...

 

MN: begin

VAR RN:RES;

m1: < >

Reserve(N, var rN);

< r ,

rN>

release(r1);

goto mN;

end;

parend;

end.

 

R, , , , . INF, , . _ SEQUENCE (), RES. . 1 M. GET PUT.

GET (1- ) SEQUENCE FIFO;

PUT GET. PUT FIFO SEQUENCE , .

. QUEUE (). , 1 N, N , .

, . . 1 N, . ENTER REMOVE. FIFO, .

EMPTY, .

_ , . i i- .

RESERVE ( ) RELEASE ( _).

RESERVE , , .

RELEASE , , . , , .

INF, .

RESERVE, . INF.

, , , , AWAIT _.

, , , . _. , , , , - .

, _. , . , , _ .

, . INF. . , , .

, . .

 





:


: 2015-11-05; !; : 480 |


:

:

,
==> ...

1697 - | 1690 -


© 2015-2024 lektsii.org - -

: 0.025 .