1.问题:假设系统有三个并发进程read、move和print共享缓冲区B1和B2。进程read负责从输入设备上读取信息,每读取一条记录后把它存如缓冲区B1中;进程move负责从缓冲区B1中取出一条记录,整理后放入缓冲区B2;进程print负责将缓冲区B2中的记录取出并打印输出。缓冲区B1和B2每次只能存放1个记录。要求三个进程协调完成任务,使打印出来的记录与读入的记录个数和次序完全一样。
(1)列出所需的信号量并初始化
(2)用记录型信号量机制的wait操作和signal操作写出是那个进程的同步代码
2.参考答案
(1)
答:
var e1, f1, e2, f2:semaphore;
e1.value = 1;
f1.value = 1;
e2.value = 0;
f2.value = 0;
(2)
答:
标签:记录,signal,value,综合题,信号量,B1,B2,缓冲区 From: https://www.cnblogs.com/saoge/p/18087491