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

admin2019-01-16  52

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

选项

答案此题主要考查进程间共享缓;中区来实现同步的相关内容。 int mutex=1 int empty=n; int full=0; int in=0; int out=0; main(){ cobegm 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/JlRi777K
0

最新回复(0)