龙空技术网

python 线程之四:定时器(Timer),非阻塞

python一看便懂 343

前言:

如今各位老铁们对“python的线程如何启用和结束”大体比较注意,朋友们都需要了解一些“python的线程如何启用和结束”的相关资讯。那么小编在网摘上搜集了一些有关“python的线程如何启用和结束””的相关内容,希望你们能喜欢,我们一起来了解一下吧!

线程之一讲了线程,如果不熟悉,可以点击【线程之一:线程的创建、启动及运行方式】

1、定时器实质:

Timer 定时器源码实现,和我们自定义一个线程方式一样,都是继承了 Thread 类,重写了 run() 方法,只是实现的功能是,延时执行一个函数或方法。

2、线程定时器(Timer)解释:

Timer类是Thread的子类,只加入了时间延迟功能Thread 和 Timer 对象都用 start() 方法启动启动Timer后,等于单独启动一个线程,为非阻塞的

通过源码看出 Timer 类继承了 Thread 类class Timer(Thread): Timer 类的构造函数是这样的,下面做以下参数说明def __init__(self, interval, function, args=None, kwargs=None):# 定时器启动后,经过interval秒后,启动function函数,# function函数的参数是 args 形式或 kwargs 形式interval:时间(秒)function:函数名args:function的参数,元组形式kwargs:function的参数,字典形式

3、Thread 和 Timer 的实例化对比:

Timer 和 Thread 最根本不同是,加入了一个时间参数(interval),如下:

# 线程的定义及启动from threading import Threaddef work():    print('工作中')t = Thread(target=work)  # 启动后,立即执行 work 函数t.start()# 打印返回:工作中# 定时器的定义及启动from threading import Timerdef work():    print('工作中')t = Timer(2, work)  # 启动后,等待2秒,再执行work 函数t.start()# 打印返回:工作中

4、Timer 的两种用法

正常用法:启动后,延时执行函数或方法

特殊用法:每隔 2 秒,执行一次函数或方法,就是不断地启动定时器

喜欢关注、点赞哦

标签: #python的线程如何启用和结束 #定时器的功能和作用