如何实施";“工作队列”;用python?

如何实施";“工作队列”;用python?,python,Python,我想在一个有12个内核的桌面上运行数百个Python程序,如果我同时运行所有这些程序,我可能会耗尽内存。我想知道在Python中实现“workqueue”的一些好方法是什么,这样它可以确保在其他程序在队列中等待时始终有n个(可能是10到12的值)程序在运行。其中一个完成后,“工作队列”将运行队列中的另一个程序 目前我的想法是,我可以使用一个文件来存储等待列表,并使用进程id监视正在运行的程序,但它似乎没有那么有效,因此我想知道是否有更好的方法来实现这一点 谢谢 multiprocessing.P

我想在一个有12个内核的桌面上运行数百个Python程序,如果我同时运行所有这些程序,我可能会耗尽内存。我想知道在Python中实现“workqueue”的一些好方法是什么,这样它可以确保在其他程序在队列中等待时始终有n个(可能是10到12的值)程序在运行。其中一个完成后,“工作队列”将运行队列中的另一个程序

目前我的想法是,我可以使用一个文件来存储等待列表,并使用进程id监视正在运行的程序,但它似乎没有那么有效,因此我想知道是否有更好的方法来实现这一点


谢谢

multiprocessing.Pool
是一个选项。@tdelaney它是否同时并行运行所有程序?@username123这些“程序”是cpu密集型的吗?@tijko我想是的。它们需要大量的内存。请看,但是可以。池在多个进程中运行程序中的函数,因此如果您的工作者只是函数,那么它工作得很好。如果工作程序是其他程序,则可以编写一个函数,通过
子进程运行这些程序。