测量控制系统中的数据采集任务把所采集的数据送一个单缓冲区,计算任务从该单缓冲区中取出数据进行计算。试写出利用信号量机制实现两者共享单缓冲区的同步算法。

admin2017-11-14  42

问题 测量控制系统中的数据采集任务把所采集的数据送一个单缓冲区,计算任务从该单缓冲区中取出数据进行计算。试写出利用信号量机制实现两者共享单缓冲区的同步算法。

选项

答案此题主要考查进程间共享缓;中区来实现同步的相关内容。 int mutex=1 int empty=n; int full=0; int in=0; int out=0; main(){ cobegin send(); obtain(): coend } send(){ while(1){ collect data in nextp wait(empty): wait(mutex): buffer(in)=nextp; in=(in+1)mod n: signal(mutex): signal(full); } }//send obtain(){ while(1){ wait(full); wait(mutex): nextc:=buffer(out); out:=(out+1)mod n; signal(mutex); signal(empty): culculate the data in nextc; }//while }//obtain

解析
转载请注明原文地址:https://kaotiyun.com/show/sCRi777K
0

最新回复(0)