正在加载图片...
B1() Bn2(); send()/*发送消息* for(i=0;i<=n2-1;i++) p(empty[i]) p(mutex) 将消息放入缓冲区 for(i=0;i<=n2-1;i++) receive(i)/进程Bi接收消息*/ p(full[i]) p(mutex) 将消息从缓冲区取出 v(mutex v (empty li]) Ai()/*因发送进程A1l,A2,…,An1的程序类似,这里只给出进程Ai的描述.* while (1) send () Bi()/*因接收进程B1,B2,…,Bn2的程序类似,这里只给出进程Bi的描述.*/ while (1) receive (i){ cobegin Al( ); A2( ); An1( ); B1( ); B2( ); Bn2( ); Coend } send( ) /*发送消息*/ { int i; for (i=O;i<=n2-1; i++) p(empty[i]); p(mutex); 将消息放入缓冲区; v(mutex); for(i=0;i<=n2-1;i++) v(full[i]); } receive (i) /*进程 Bi 接收消息*/ { p(full[i]); p(mutex); 将消息从缓冲区取出; v(mutex); v(empty[i]); } Ai( ) /*因发送进程 A1,A2,…,An1 的程序类似,这里只给出进程 Ai 的描述.*/ { while(1) { send( ); } } Bi() /*因接收进程 B1,B2,…,Bn2 的程序类似,这里只给出进程 Bi 的描述.*/ { while(1) { receive(i); } }
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有