Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python';完成特定的其他进程后启动进程;s多处理_Python_Multiprocessing_Queue - Fatal编程技术网

使用Python';完成特定的其他进程后启动进程;s多处理

使用Python';完成特定的其他进程后启动进程;s多处理,python,multiprocessing,queue,Python,Multiprocessing,Queue,我有一组流程,其中一些流程要求集中的其他流程首先完成。如何检查指定的流程是否成功完成 我尝试使用多处理.Queue,但我不知道如何检查Queue的内容。我也不确定这样做是否正确: 来自多处理导入进程,队列 def打印名称(队列、名称): 印刷品(名称) queue.put(名称) def main(): 订单=[{'name':'procA','requires':[]}, {'name':'procB','requires':[]}, {'name':'procC','requires':['

我有一组流程,其中一些流程要求集中的其他流程首先完成。如何检查指定的流程是否成功完成

我尝试使用
多处理.Queue
,但我不知道如何检查Queue的内容。我也不确定这样做是否正确:

来自多处理导入进程,队列
def打印名称(队列、名称):
印刷品(名称)
queue.put(名称)
def main():
订单=[{'name':'procA','requires':[]},
{'name':'procB','requires':[]},
{'name':'procC','requires':['procB']},
{'name':'procD','requires':['procA','procC']}]
队列=队列()
procs=[顺序中项目的进程(目标=打印\名称,参数=(队列,项目['name'])]
对于项目,zip中的proc(订单,procs):
如果len(项['requires'])==0:
程序启动()
其他:
如果全部([require in queue for require in item['requires']]):#我需要“require in queue”的语法
程序启动()
对于进程中的进程:
proc.join()
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
main()

1。您可以使用以下命令接收错误:
proc.start();proc.join();如果proc.exception:error,则回溯=proc.exception2。当
procB
完成
.join()
时,需要将
procC
的逻辑写入
.start()
。然而,您正在运行
proc.join()
,在最后,同时为每个人运行。@TinNguyen我不太理解第一点。我可以检查一个特定的过程是否完成了吗?