在linux系统下使用pipe编写代码实现生产者消费者模型

使用 pipe 编写代码实现生产者-消费者模型,要求:

  • 主进程创建一个管道,创建成功需输出成功语句,创建 3 个生
    产者进程和 4 个消费者进程,进程执行开始要输出
    “Producer/Consumer 1/2/3/4 is running”
  • 每个生产者共生产 10 个“产品”(产品为字符串,三个生产者
    的字符串分别为“Produce 1/2/3”),每隔 3s 请求放入一个产品,
    如果放入成功,则输出“Producer 1/2/3 put(字符串内容) to pipe”,
    待全部产品放入管道则进程结束
  • 每个消费者每隔 2s 请求消费一个产品,需判断当前管道是否
    有产品,如果有且成功取出产品,则输出“Consumer 1/2/3/4 get
    (字符串内容)from pipe”,待所有产品全部从管道取出则结束
  • 灵活使用 wait(),sleep(),exit()等函数,确保子进程结
    束后被父进程成功回收,所有子进程执行完毕,父进程关闭 pipe 的
    读端和写端,
    pipe管道的我觉得也是要创建出来成为缓冲区,但是具体实现还是不太清楚要写在哪里,辛苦帮我解答一下

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。