设有无穷多个整数缓冲区(即为无界缓冲池),A进程从输入设备逐个地读入整数并写入缓冲区,B进程则逐个地从缓冲区取出整数进行打印。其中存放整数的变量为item,缓冲区名为buffer,读取过程使用函数getAItem(int* itm)来完成,而打印整数使用函数printAItem(int itm)来完成。请用记录型信号量机制实现上述两个进程的同步算法。要求:补充完整下列算法程序中带标号处空缺的内容。(注:每个空缺部分的代码可能是多行代码)。
(1)in=0;
out= 0;
full.value = 0;
(2) while(TRUE){
getAItem(&item);
buffer[in++]=item;
signal(ull);
}
(3) while(TRUE){
wait(full);
item=bufer{out++];
printAltem(item);
}