线程管理包括线程创建、线程启动、线程休眠、等待线程结束和线程停止。
当前线程调用t1线程的join()方法,则阻塞当前线程,等待t1线程结束,如果t1线程结束或等待超时,则当前线程回到活动状态继续执行。join()方法语法如下:
join(timeout=None)
import threading
import time
#共享变量
value=0
#线程体函数
def thread_body():
global value
#当前线程对象
print('ThreadA开始')
for n in range(2):
print('ThreadA执行')
value+=1
#线程休眠
time.sleep(1)
print('ThreadA结束')
#主函数
def main():
print('主线程开始。。。')
#创建线程对象t1
t1=threading.Thread(target=thread_body,name='ThreadA')
#启动线程
t1.start()
#主线程被阻塞,等待t1线程结束
t1.join()
print('value={0}'.format(value))
print('主线程结束')
if __name__ == '__main__':
main()
当线程体结束(即run()方法或执行函数结束),线程就会停止了。设置一个线程停止变量。
import threading
import time
isrunning=True
def thread_body():
while isrunning:
print('下载中.............')
time.sleep(5)
print('执行完成')
def main():
t1=threading.Thread(target=thread_body)
t1.start()
command=input('请输入停止指令')
if command=='exit':
global isrunning
isrunning=False
if __name__ == '__main__':
main()