我的代碼如下。調用concurrent.futures並行作業的麻煩
executor = concurrent.futures.ThreadPoolExecutor(max_workers=4)
for cj in self.parent_job.child_jobs:
executor.map(cj.runCommand())
高清runCommand(個體經營): 使用os.system(self.cmd_line) verifyOutputFiles() ...
runCommand需求並行所有child_jobs執行。一次只能將一個child_job傳遞給runCommand。
但runCommand一次只能調用一次。但是我需要在同一時間爲所有兒童工作調用它。任何有助於實現這一目標,在executor.map
API認識
child_jobs有要執行的命令列表。我需要並行運行它們。 – Hema 2013-03-21 13:47:25
cj只有一個子作業,self.parent_job.child_jobs有所有子作業的列表。如果我們像executor.map(cj.runCommand,self.parent_job.child_jobs)一樣執行,哪一個會到達runCommand – Hema 2013-03-21 13:56:42
我不確定@AndrewDalke建議的是什麼。我認爲'cj.runCommand'綁定到'cj'實例,所以對我來說沒有意義。我認爲我發佈的內容應該有效 - @ user2194611你試過了嗎? – kkonrad 2013-03-21 21:51:47