-1
我想通過調用不同線程上的單獨實例來使用python3.5來並行化CodeML。我已經完成了一切工作。如果我提供Pool.imap
(或Pool.map
)與可迭代的變量,該變量包含的變量超出程序可用的內核數量,則它只會在每個內核中運行一個變量,然後退出。有什麼我在這裏做錯了嗎?python imap不能調用函數列表中的所有項目
# Call CodeML for all files in a directory.
genes = glob(path + "06_phylipFiles/" + "*.phylip")
l = int(len(genes))
pool = Pool(processes = cpu)
func = partial(runCodeml, ap, usertree, path, completed, ctl, forward)
print("\n\tRunning CodeML with", str(cpu), "threads....\n")
rcml = pool.imap(func, genes, chunksize = int(l/cpu))
pool.close()
pool.join()
基本上,我需要Pool.imap
在退出之前運行整個列表。預先感謝您的任何幫助。