线程管理

线程管理包括线程创建、线程启动、线程休眠、等待线程结束和线程停止。

  • 等待线程结束

当前线程调用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()

 

 

你可能感兴趣的:(Python)