请在 下方输入 要搜索的题目:

有3个进程P1、P2和P3协作解决文件打印问题。P1将文件记录从磁盘读入内存的缓冲区1,每执行一次读一个记录;P2将缓冲区1中的内容复制到缓冲区2中,每执行一次复制一个记录;P3将缓冲区2中的内容打印出来,每执行一次打印一个记录。缓冲区的大小与记录大小一样。请用信号量来保证文件的正确打印。

有3个进程P1、P2和P3协作解决文件打印问题。P1将文件记录从磁盘读入内存的缓冲区1,每执行一次读一个记录;P2将缓冲区1中的内容复制到缓冲区2中,每执行一次复制一个记录;P3将缓冲区2中的内容打印出来,每执行一次打印一个记录。缓冲区的大小与记录大小一样。请用信号量来保证文件的正确打印。

发布时间:2025-06-20 21:01:46
推荐参考答案 ( 由 快搜搜题库 官方老师解答 )
联系客服
答案:P1(){ while(1){ 从磁盘读一个记录; P(empty1); 将记录存放到缓冲区1中; V(full1); } } P2(){ while(1){ P(full1); P(empty2); 从缓冲区1中取出一个记录; 将记录复制到缓冲区2中; V(empty1); V(full2); } } P3(){ while(1){ P(full2); 从缓冲区2中取出一个记录; V(empty2); 将取出的记录打印出来; } } main(){ cobegin P1(); P2(); P3(); coend }
专业技术学习
专业技术学习
搜搜题库系统