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

admin2017-01-05  65

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

选项

答案此题主要考查进程间共享缓;中区来实现同步的相关内容。 int mutex=l 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/8yfjFFFM
0

最新回复(0)