与主流程(生产者/消费者)分开的流程共享队列

时间:2018-09-18 21:46:45

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

我对使用Python进行多处理还很陌生,我已经做了很多挖掘工作,但是似乎找不到我想要的东西。我有一个消费者/生产者问题,我有一个简单的服务器,该服务器的端点从队列中消费,而函数在队列中产生。队列可能已满,因此生产者并不一定总是在运行。

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

1 个答案:

答案 0 :(得分:1)

  

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

如果这是您问题的重要部分(似乎实际上是几个问题),那么if(!winner && this.state.history.length === 10){ status = 'Draw'; } 似乎是exactly what you need。我在多个项目中使用了此方法,以使多个进程将一个进程供入一个队列供一个单独的进程使用,因此,如果您正在寻找它,那应该可行。

相关问题