Python生产者和消费者系统设计

时间:2017-09-13 23:31:18

标签: python-3.x parallel-processing python-multiprocessing python-asyncio system-design

如果我正在编写一个以生产者和消费者方式执行其他两个可执行文件(C ++)的Python程序,那么正确的lib是做什么的? ASYNCIO?多处理?

主要执行线程或进程是:

  1. 监控生产者和消费者流程的状态。
  2. 如果其中一个失败,则终止另一个。
  3. 如果收到Ctrl-C,则终止它们
  4. 如果两者都完成,退出并报告成功。
  5. 制片人:

    1. 继续生成数据到临时文件。 (那个临时文件可能是来自os.mkfifo()的一个fifo。)
    2. 消费者:

      1. 继续使用临时文件
      2. 生产者和消费者都是CPU密集型的,他们需要并行运行。理想情况下,中间临时文件不需要触及实际存储并保留在内存中。否则,性能是一个很大的问题,因为临时文件大小为10GB左右。

0 个答案:

没有答案