我有以下代码块,它是更大程序的一部分。我试图让它在所有线程关闭后打印执行时间,但似乎无法让它工作。有任何想法吗?
import time
import csv
import threading
import urllib.request
def openSP500file():
SP500 = reader(open(r'C:\Users\test\Desktop\SP500.csv', 'r'), delimiter=',')
for x in SP500:
indStk = x[0]
t1 = StockData(indStk)
t1.start()
if not t1.isAlive():
print(time.clock()-start_time, 'seconds')
else:
pass
def main():
openSP500file()
if __name__ == '__main__':
start_time = time.clock()
main()
谢谢!
答案 0 :(得分:2)
您不是在等待所有线程完成(仅创建最后一个)。在你的线程产生循环中可能是这样的东西吗?
threads = []
for x in SP500:
t1 = StockData(x[0])
t1.start()
threads.append(t1)
for t in threads:
t.join()
... print running time