上下文:我有一个简单的python脚本,每隔几秒就会将一堆文件写入s3(~70-100)。因为它的I / O绑定,我想线程化写入过程,以便脚本执行得更好。我正在使用threading
来构建我的线程。
问题:由于我的线程是a)非守护进程,b)他们只有1个任务要执行(写一个文件),如果我遍历我的线程列表并调用{{1他们会完成任务并优雅地退出吗?我甚至需要在这里打电话给.join()
还是在他们完成后退出?我相信 join()是去这里的方式,但因为我对python很新,我不知道我不知道的......
以下是一些简化的参考代码:
join()
来电:
buildOutput() #calls the section below
for thread in threads:
thread.join()
time.sleep(60)
其中FileWriter是执行编写的类。