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方法
这里写图片描述

猜你喜欢

转载自blog.csdn.net/dreamingcrazy/article/details/81782512