join的作用就凸显进去了,join所实现的工作就是线程同步,即主线程义务完结之后,进入梗阻状态,不断期待其余的子线程执行完结之后,主线程正在终止。
join有一个timeout参数:(保举学习:Python视频教程)
当设置守护线程时,含意是主线程关于子线程期待timeout的工夫将会杀死该子线程,最初加入顺序。以是说,假如有10个子线程,全副的期待工夫就是每一个timeout的累加以及。简略的来讲,就是给每一个子线程一个timeout的工夫,让他去执行,工夫一到,不论义务有无实现,间接杀死。
不设置守护线程时,主线程将会期待timeout的累加以及这样的一段工夫,工夫一到,主线程完结,然而并无杀死子线程,子线程仍然能够持续执行,直到子线程全副完结,顺序加入。
join的作用
import threading import time def run(): time.sleep(2) print('以后线程的名字是: ', threading.current_thread().name) time.sleep(2) if __name__ == '__main__': start_time = time.time() print('这是主线程:', threading.current_thread().name) thread_list = [] for i in range(5): t = threading.Thread(target=run) thread_list.append(t) for t in thread_list: t.setDaemon(True) t.start() for t in thread_list: t.join() print('主线程完结了!' , threading.current_thread().name) print('一共历时:', time.time()-start_time)
更多Python相干技巧文章,请拜访Python教程栏目进行学习!
以上就是python的线程join怎样用的具体内容,更多请存眷资源魔其它相干文章!
标签: Python python教程 python编程 python使用问题
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!