如何解决多处理/进程 - 如何管理队列/管理器?
目前我执行的工作,那么3个进程将同时启动。
def someFunctionJob(x,y,**kwargs):
..... Code which will do some job
def manager(x,values):
y = uuid.uuid4().hex
pr = Process(target=someFunctionJob,args=(x,),kwargs=values)
pr.start()
def main(x,values,settings):
for i in settings:
if xyz in ["abc"]:
manager(x,values)
elif lender in ["abc1"]:
manager(lender,product)
elif lender in ["abc2"]:
manager(x,values)
我需要的是它将由队列管理:
E.G.如果workers = 2
执行将是这样的:
process 1
process 2
waiting till any of the processes will be finished
process 3
解决方法
processes=[]
for _ in range(2):
p = Process(target=something )
p.start()
processes.append(p)
for process in processes:
process.join()
p = Process(target=something )
p.start()
这段代码的作用是执行上面的 2 个进程,然后等待它们完成并运行另一个单独的进程。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。