将多个参数传递给python threading.Thread

2024-09-27 23:15:46 发布

您现在位置:Python中文网/ 问答频道 /正文

Python版本:python2.7(我没有升级它的权限)

我有以下代码,对我来说很好:

cFiles = 10
list_of_columns = List_Of_files
p = Pool(processes=cFiles)
data = p.map(analyzefiles, [i for i in list_of_columns])
p.close()

它使用multiprocessing模块

当我尝试将相同的逻辑应用于threading模块时,我最终不得不运行以下for loop,这不是我想要的:

for i in prodentries:
    newi = "pOfList:::" + i
    t1 = threading.Thread(target=analyzelogs, args=(newi,) )
    t1.start()
    t1.join()

我的问题是,如何将上面的for loop转换成更有效的代码?我更喜欢使用threading模块。大致是这样的:

t1 = threading.ThreadPool(target=analyzefiles, [ "pOfList:::" + i for i in prodentries] )
t1.start()
t1.join()

Tags: 模块columnsof代码inloopforlist

热门问题