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

admin2016-03-29  43

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

选项

答案此题主要考查进程间共享缓冲区来实现同步的相关内容。 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://jikaoti.com/ti/OgfjFFFM
0

相关试题推荐
随机试题
最新回复(0)