设有无穷多个整数缓冲区(即为无界缓冲池),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(full);}
(3)While(TRUE){ wait(full); item=buffer[out++]; printAItem(item);}