我希望这不是题外话。
我正在编写一个工作量很大的 python 脚本,所以我决定使用 Python multiprocessing
ThreadPool API。
我以这种方式使用它:
pool = multiprocessing.pool.ThreadPool(processes=max_threads)
pool.map(routine, args)
如何估计要使用的最大线程数以及可以提交到池的最大任务数?
执行的例程必须subprocess
调用外部脚本和文件系统操作,例如os.path.isfile()
,os.stat()
和os.remove()
.
每个线程对一小部分数据执行例程,并且不与其他线程共享任何内容,因此不使用锁。
我在一个四核处理器上测试它,但我必须将它部署在一个包含几个核心的迷你集群中。
如果有什么我可以补充的,请在下面评论..
谢谢