具有最大线程的Python多线程程序

时间:2017-05-06 10:56:58

标签: python multithreading

我有一个多线程python应用程序 写得像这样:

start=time.time()
for i in ids:           
    t=Thread(target=parseRows,args=(i,))
    t.start()
    t.join()
end=time.time()-start
print('====================================================')
print('Total time : '+ str(end))

但是当我在任务管理器中看到我的线程时只有8个线程或最多12个线程 但是在ids列表中有44000项,我希望看到更多超过12个线程 在任务管理器中,它处理parseRows方法。

我使用了t.join()因为等待所有线程完成并计算它需要花费多少时间 让所有线程完成工作

问题是什么?

1 个答案:

答案 0 :(得分:2)

这是:

import threading
import time

def parseRows(i):
  print "%d\n"%(i,),
  time.sleep(0.1)

ids=range(100)

start=time.time()
ts=list()
for i in ids:           
    t=threading.Thread(target=parseRows,args=(i,))
    ts.append(t)
    t.start()
for t in ts:
    t.join()

end=time.time()-start
print('====================================================')
print('Total time : '+ str(end))

并且在第二个for语句前面添加注释符号后尝试: - )

#for t in ts:

我明白了:

Total time : 10.0569360256

没有,我得到

Total time : 0.117892026901