Python中的线程及用法

一丧“人生很多事情,终究会随着时间好起来。比如:很多人原本只是胖,久了就变好胖”

开始探讨互斥锁之前先来说一下setDaemon方法。

setDaemon方法

setDaemon的方法简单的说就是设置主线程停止的同时结束子线程。
我们来看它的用法:

import threading,time#导入多线程包和时间包
"""创建一个将执行的函数"""
def demo():
    for i in range(5):
        print("敲代码")
        time.sleep(1)#休眠1秒,方便查看
"""创建一个函数入口"""
if __name__ == '__main__':
    t1 = threading.Thread(target=demo)#用多线程执行函数
    t1.setDaemon(True)#当主线程结束时,结束销毁所有子线程
    t1.start()#开始线程
    time.sleep(2)
    print("主线程结束")
    exit()#退出,结束函数

threading包中方法定义的修改

接下来我们来看如何修改继承threading包中的方法,其中的super方法为其中比较重要的内容,更加重要的为其逻辑

import threading#声明引用导入threading
class MyThread(threading.Thread):#创建一个类,它的父类为threading中的Thread
    def __init__(self,num):#属性初始化
        """super继承threading中的Thread类的初始化(可以理解为Thread中的__init__的内容放到了这里)"""
        super(MyThread,self).__init__()
        self.num = num
    def show(self):
        print("我的数字",self.num)
    def run(self):
        self.show()
if __name__ == '__main__':
    myhead = MyThread(666)#调用类,传值666
    myhead.start()#调用threading类的start,mian函数->MyThread父类的start->mythread->run->show

这个类的流程为,mian函数->MyThread父类的start->mythread->run->show。因为threading包中的start方法调用run方法,故而如此
给大家看一下start方法
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值