【问题标题】:Separate process sharing queue with main process (producer/consumer)与主进程(生产者/消费者)分离进程共享队列
【发布时间】:2018-09-18 21:46:45
【问题描述】:

我对 Python 中的多处理非常陌生,我已经进行了很多研究,但似乎无法准确找到我正在寻找的内容。我有一个消费者/生产者问题,我有一个简单的服务器,它有一个从队列消费的端点和一个在队列上产生的函数。队列可能已满,因此生产者并不总是需要运行。

虽然队列未满,但我希望生产者任务运行,但我不希望它阻止服务器接收或服务请求。我尝试使用多线程,但是这个生成过程非常慢,而且 GIL 减慢了太多。我希望服务器一直在运行,并且每当队列不再满时(某些东西已经被消耗),我想将这个生产者任务作为一个单独的进程启动,并且我希望它运行直到队列再次满.共享队列的最佳方式是什么,以便生产者进程可以访问主进程使用的队列?

【问题讨论】:

    标签: python python-3.x multiprocessing python-multiprocessing


    【解决方案1】:

    共享队列的最佳方式是什么,以便生产者进程可以访问主进程使用的队列?

    如果这是您问题的重要部分(看起来实际上是几个问题),那么multiprocessing.Queue 似乎是exactly what you need。我已经在几个项目中使用它来让多个进程为一个单独的进程提供一个队列以供消费,所以如果这就是你要找的,这应该可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      • 1970-01-01
      • 2012-01-28
      • 2010-10-19
      • 1970-01-01
      相关资源
      最近更新 更多