1、主线程:解释器中来执行代码
2、子线程:使用threading模块里面的Thread类创建出实例对象,通过start()方法产生一个新的线程
主线程会等待子线程全部结束之后才会结束。
3、查看当前线程: 利用 threading 里面的 enumerate() 函数就能返回一个列表, 当前的线程作为单个元素存放在列表之中。
def play():
'''玩游戏'''
for i in range(3):
print('玩游戏 .....')
time.sleep(.5)
def network():
'''上网'''
for i in range(3):
print('上网.....')
time.sleep(.5)
#通过方法调用
def run():
# 这个执行,是单任务
# play()
# network()
# #下面执行的,是多任务
t1=threading.Thread(target=play) #创建子线程对象,指定目标
t2=threading.Thread(target=network)#创建子线程对象,指定目标
t1.start() #即可启动任务, 任务内容为创建对象时执行的部分(函数)
t2.start()
#子线程还存在时
print(threading.enumerate()) #获得此时此刻的线程
time.sleep(3) #延时三秒,为了子线程执行完毕后。再次打印线程
print(threading.enumerate()) # 获得此时此刻的线程
if __name__=='__main__':
run()
效果: