今有三个并发进程R、M和P,它们共享一个缓冲区。R负责从输入设备读信息,每次读出一个记录,并把它存放到缓冲区中。M对缓冲区中的记录加工。P把加工后的记录打印输出。读人的记录经加工并取走后,缓冲区中又可存放下一个记录。请用PV操作作为同步机制写出它们并发执行时能正确工作的程序。
欢迎免费使用小程序搜题/刷题/查看解析,提升学历,成考自考报名,论文代写、论文查重请加客服微信skr-web
今有三个并发进程R、M和P,它们共享一个缓冲区。R负责从输入设备读信息,每次读出一个记录,并把它存放到缓冲区中。M对缓冲区中的记录加工。P把加工后的记录打印输出。读人的记录经加工并取走后,缓冲区中又可存放下一个记录。请用PV操作作为同步机制写出它们并发执行时能正确工作的程序。
三个进程共用一个缓冲区,他们必须同步工作,可定义三个信号量:
S1:表示是否可把读入的记录放入缓冲区,初始值为1。
S2:表示是否可对缓冲区中的记录加工,初始值为0。
S3:表示记录是否加工好,可以输出,初始值也为0。
三个进程可如下设计:


×
提示:小程序已经收录此题,请在小程序查看名师解析。翰林刷小程序提供搜题,刷题,助你轻松通过考试