我正在创建一个小应用程序,它将执行4个不同的,耗时的任务,使得第一个输出是第二个输入,依此类推。 在每个任务级别,输出都附加到列表中,下一个任务弹出,操作并将其输出附加到其输出列表,依此类推...... 我认为我完成任务的方式是在这4个任务中分别拥有多个线程。
提出这个问题,是否有任何方法可以让我的应用程序在每个任务级别生成线程,具体取决于其输入队列中的任务数量?
假设第二个任务的输入列表在开头是空的,所以数字线程为零,但是如果有一个任务,则生成单个线程,两个等等......当然,数量有一个上限线程说10,所以如果输入列表的长度高达100,则运行的线程数仍然保持在10。
请建议实现这一目标的pythonic方式。
答案 0 :(得分:1)
您已成功发明了Thread Pool。有内置支持,有许多libraries和examples可以为您提供此功能,因此请使用一个或从他们的代码中学习。
from multiprocessing.pool import ThreadPool