第7讲 进程管理 PV操作专题 设置同步信号量: 同步信号量sa,表示Sbuf中有无信息,初值为0; 同步信号量sb,表示Sbuf中有无空位置,初值为1; 同步信号量ta,表示Tbuf中有无信息,初值为0; 同步信号量tb,表示Tbuf中有无空位置,初值为1。 var sa,sb,sc,sd:semaphore:=0,1,0,1; begin parbegin get( ):begin repeat 产生一个结果数据; wait(sb); 将数送到缓冲区s中; signal(sa); until false; end put( ) :begin repeat wait(ta); 从缓冲区t中取数据; signal(tb); 在打印机上输出; until false; end copy( ):begin repeat wait(sa); wait(tb); 将缓冲区s中的数复制到t中; signal(ta); signal(sb); until false end parend end 例20: 一类同步问题的解法 合作进程的执行次序 若执行次序是已知的,则可用进程流图来表示。 进程流图可用来描述进程集合的执行时间轨迹,图中的连接点表示进程开
原创力文档

文档评论(0)