python关闭线程_python:多线程(线程的创建和结束)

首先来体验下什么是多线程:

如图:利用多线程同时执行sing和worker2个函数:

1772245-20200405224715537-1067975896.png

'''多线程'''

importtimeimportthreadingdefsing():'''唱歌5秒钟'''

for i in range(3):print("---正在唱歌---")

time.sleep(1)#todo 创建Thread时执行的函数,运行结束,那么这个子线程就结束了

defworker():'''工作5秒钟'''

for i in range(3):print("---正在工作---")

time.sleep(1)defrun():

t1= threading.Thread(target=sing)

t2= threading.Thread(target=worker)

t1.start()

t2.start()if __name__ == '__main__':

run()

线程的创建从调用start方法开始,函数结束时,线程结束。

如图、;

1772245-20200406091549164-448021291.png

'''多线程'''

importtimeimportthreadingdefsing():'''唱歌5秒钟'''

for i in range(5):print("---第{}次唱歌---".format(i))

time.sleep(1)#todo 创建Thread时执行的函数,运行结束,那么这个子线程就结束了

defworker():'''工作5秒钟'''

for i in range(5):print("---第{}次工作---".format(i))

time.sleep(1)defrun():

t1= threading.Thread(target=sing)

t2= threading.Thread(target=worker)

t1.start()#TODO 调用start时,线程创建。函数结束的时候,线程结束。

t2.start()whileTrue:print(threading.enumerate())if len(threading.enumerate()) == 1:returntime.sleep(1)if __name__ == '__main__':

run()

在类里面实现多线程,必须定义run方法,启动线程时实际是调用的run方法:

importthreadingimporttimeclassMyThreading(threading.Thread):defrun(self):'''通过继承调用多线程必须有run方法'''

for i in range(5):print("这是线程{}".format(i))

time.sleep(1)

self.mut()defmut(self):for i in range(1,10):for j in range(1,i+1):print("{}*{}={}".format(i,j,(i*j)),end='\t')print()if __name__ == '__main__':

mt=MyThreading()

mt.start()

使用sleep来控制,线程的执行顺序:

1772245-20200406103223149-976713000.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值