²Ù×÷ϵͳϰÌâ(F.L)´ð°¸

mutex =1;

for ( i = 0; i¨Qn2 ¨C 1 ; i ++) {

empty[i]=m; full [i]=0; }

main ( ) {

cobegin

A1 ( ) £»

A2 ( ) £»

An1 ( ) £» B1 ( ) £» B2 ( ) £»

Bn2 ( ); coend }

send ( ) /*·¢ËÍÏûÏ¢*/ {

int i;

for ( i = 0; i¨Qn2 ¨C 1 ; i ++)

p ( empty[i] ) ; P ( mutex ) ;

½«ÏûÏ¢·ÅÈ뻺³åÇø£»

v ( mutex )£»

for ( i = 0; i¨Qn2 ¨C 1 ; i ++)

v ( full [i] ) ;

}

receive ( ) /*½ø³ÌB1½ÓÊÕÏûÏ¢*/ {

p ( full [i] ) ; P ( mutex ) ;

½«ÏûÏ¢´Ó»º³åÇøÖÐÈ¡³ö£»

v ( mutex )£»

¡­ ¡­ v ( empty[i] ) ;

}

Ai ( ) /*Òò·¢Ëͽø³ÌA1¡¢A2£¬¡­An1µÄ³ÌÐòÀàËÆ£¬ÕâÀïÖ»¸ø³ö½ø³ÌAiµÄÃèÊö*/ {

while ( 1 ) {

send ( )£» }

Bi ( ) /*Òò½ÓÊܽø³ÌB1¡¢B2£¬¡­Bn1µÄ³ÌÐòÀàËÆ£¬ÕâÀïÖ»¸ø³ö½ø³ÌBiµÄÃèÊö*/ {

while ( 1 ) {

receive ( i )£» }

¡­ ¡­ ¡­ ¡­

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)