join 方法:阻塞线程 , 直到该线程执行完毕
因此 ,可以对join加一个超时操作 , join([timeout]),超过设置时间,就不再阻塞线程
jion加上还有一个后果就是, 子线程和主线程绑定在一起 , 直到子线程运行完毕,才开始执行子线程。
代码 有join:
在CODE上查看代码片派生到我的代码片
1
2
3
4
5
6
7
|
#-*- coding: UTF-8 -*-
import threading
from time import sleep
def fun():
|
在CODE上查看代码片派生到我的代码片
1
2
3
4
|
<span style = "white-space:pre" > < / span>i = 5
while i > 0 :
print ( 111111 )
sleep( 10 )
|
在CODE上查看代码片派生到我的代码片
1
2
3
4
5
6
7
8
9
10
11
|
<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 )
|
在CODE上查看代码片派生到我的代码片
输出:<pre name="code" class="python">111111 输完之后, 才输出 <span style="font-family: Arial, Helvetica, sans-serif;">aaaaaaa </span>
在CODE上查看代码片派生到我的代码片
代码: 无join
在CODE上查看代码片派生到我的代码片
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#-*- 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 )
|
在CODE上查看代码片派生到我的代码片
<pre name="code" class="python" style="font-size:18px;">111111 和 <span style="font-family: Arial, Helvetica, sans-serif;">aaaaaaa 间隔输出</span>