先了解一下Python守护线程基本概念。
守护线程:当一个线程被标记为守护线程时,Python程序会在剩下的线程都是守护线程时退出,即等待所有非守护线程运行完毕;守护线程在程序关闭时会突然关闭,可能会导致资源不能被正确释放的的问题,如:已经打开的文档等。
非守护线程:通常我们创建的线程默认就是非守护线程,Python程序退出时,如果还有非守护线程在运行,程序会等待所有非守护线程运行完毕才会退出。
threading.Thread(group=None,target=None,name=None,args=(),kwargs={},*,daemon=None)
group:通常默认即可,作为日后扩展ThreadGroup类实现而保留。
target:用于run()方法调用的可调用对象,默认为None。
name:线程名称,默认是Thread-N格式构成的唯一名称,其中N是十进制数。
args:用于调用目标函数的参数元组,默认为()。
kwargs:用于调用目标函数的关键字参数字典,默认为{}。
daemon:设置线程是否为守护模式,默认为None。
看一下线程对象threading.Thread的方法和属性。
start():启动线程。
run():线程执行具体功能的方法。
join(timeout=None):当timeout为None时,会等待至线程结束;当timeout不为None时,会等待至timeout时间结束,单位为秒。
is_alive():判断线程是否存活。
getName():返回线程名。
setName():设置线程名。
isDaemon():判断线程是否为守护线程。
setDaemon():设置线程是否为守护线程。
name:线程名。
ident:线程标识符。
daemon:线程是否为守护线程。
我们可以通过实例化threading.Thread来创建线程,也可以使用继承threading.Thread的子类来创建。
以上内容为大家介绍了Python线程对象,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。