Python多线程程序的最大线程数

标签 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() 因为等待所有线程完成并计算总共花费了多少时间 让所有线程完成工作

问题是什么?

最佳答案

这里是:

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

关于Python多线程程序的最大线程数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43819600/

相关文章:

python - 使用 groupby 获取每组的最大众数

java - J2SE简单事件处理库

java - AsyncTask 中的 Volatile 和 Synchronized

java - 嵌套线程可以为父线程抛出异常吗?

python - Pandas 在子循环中将新列添加回主数据框

python - SciPy 中多个数据集的拟合函数

python - 使用 python Spark 结构化流

c# - Console.ReadKey 与带有计时器的 Console.ReadLine

java - 如何在Java代码中启动一组线程

python - python中的for循环