join 方法:阻塞线程 , 直到该线程执行完毕
因此 ,可以对join加一个超时操作 , join([timeout]),超过设置时间,就不再阻塞线程
jion加上还有一个后果就是, 子线程和主线程绑定在一起 , 直到子线程运行完毕,才开始执行子线程。
代码 有join:
#-*- coding: UTF-8 -*- import threading from time import sleep def fun():
<span style="white-space:pre"> </span>i= 5 while i > 0: print(111111) sleep(10)
<span style="white-space:pre"> </span>i-- if __name__ == '__main__': a = threading.Thread(target = fun) a.start() a.join() while True: print('aaaaaaa') sleep(1)
输出:<pre name="code" class="python">111111 输完之后, 才输出 <span style="font-family: Arial,Helvetica,sans-serif;">aaaaaaa </span>
代码: 无join
#-*- coding: UTF-8 -*- import threading from time import sleep def fun(): while True: print(111111) sleep(10) if __name__ == '__main__': a = threading.Thread(target = fun) a.start() while True: print('aaaaaaa') sleep(1)
<pre name="code" class="python" style="font-size:18px;">111111 和 <span style="font-family: Arial,sans-serif;">aaaaaaa 间隔输出</span>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。