在我用python编写的软件代码的一部分中,我有一个项目列表,其大小可以从12变化到仅一个项目。对于这个列表中的每个项目,我正在做一些处理(发送与给定项目相关的HTTP请求,解析结果和许多其他操作。我想使用线程加速我的代码,我想创建2个线程其中每一个采取了一些项目,并做处理异步如何根据数字添加线程
例1:比方说,在我的名单上有12个项目,每个线程将采取在这种情况下,6个项目,并呼吁各处理功能项目
例2:现在让我们说,我的名单有9个项目,一个线程将采取5项和其他线程将采取其他4个项目留下
。目前我未施加任何线程和我的代码库是非常大的,所以这里的一些代码,做几乎同样的事情,我的情况:
#This procedure need to be used with threading .
itemList = getItems() #This function return an unknown number of items between 1 and 12
if len(itemList) > 0: # Make sure that the list is empty in this case .
for item in itemList:
processItem(item) #This is an imaginary function that do the processing on each item
下面是解释什么是基本的精简版代码我我不知道怎样才能使我的线程更具灵活性,因此每个人都需要一些项目,其他人则需要休息(如示例1 & 2中所述)。
感谢的您的时间
调查线程执行者。用两个线程启动一个执行器,并将所有项目提交给它。这样做的好处是为您做好所有的簿记工作,并确定哪个线程应该采取下一项工作,以保持最大程度的繁忙。 –