我是Python的新手,正在寻找Python的JoinableQueue之类的东西,但这具有双端队列或类似堆栈的行为。具体来说,由于我要以不同的流程处理队列中的项目,因此我希望能够在队列中已有内容之前添加要处理的新项目(即,插入堆栈或添加到双端队列的前端) 。 Java的BlockingDeque确实可以满足我的要求,但是我不能真正将Java用于此项目。任何指针或新的方式来思考这个问题,将不胜感激!
最佳答案
使用multiprocessing
,队列语义不仅是在进程间通信之上实现的,而且是它固有的。因此,最简单的解决方案可能是通过使用JoinableQueue
来构建可连接堆栈,并通过首先将所有任务放入临时队列中,然后对新元素进行排队并从临时队列中填充任务来实现对堆栈的推送。从不同的进程插入堆栈将需要一些锁定以维持堆栈的顺序。
关于python - 有没有类似Python JoinableQueue的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35542929/