thread.join的最佳时机是什么?



我想知道哪种方式性能更好,code1如下,在所有线程启动后加入它们。

ts = []
for href in hrefs:
t = create_thread_parse(href)
t.daemon = True
t.start()
ts.append(t)
for t in ts:
t.join()

代码2如下,在线程启动后加入它。

ts = []
for p, href in enumerate(hrefs):
t = create_thread_parse(href)
t.daemon = True
t.start()
ts.append(t)
t.join()

他们做不同的事情。

t.join块,直到t线程终止。因此,您的第一个版本并行运行线程,然后等待它们全部完成。第二个版本一个接一个地运行线程,直到前一个线程终止才会创建或启动新线程。

最新更新