python线程定时器Timer实现原理解析


Posted in Python onNovember 30, 2019

这篇文章主要介绍了python线程定时器Timer实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一.线程定时器Timer原理

原理比较简单,指定时间间隔后启动线程!适用场景:完成定时任务,例如:定时提醒-闹钟等等.

# 导入线程模块
import threading
timer = threading.Timer(interval, function, args=None, kwargs=None)

参数介绍:

interval — 定时器间隔,间隔多少秒之后启动定时器任务(单位:秒);

function — 线程函数;

args — 线程参数,可以传递元组类型数据,默认为空(缺省参数);

kwargs — 线程参数,可以传递字典类型数据,默认为空(缺省参数);

二.线程定时器使用

使用场景:定时闹钟

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解忧
@Blog(个人博客地址): shuopython.com
@WeChat Official Account(微信公众号):猿说python
@Github:www.github.com
 
@File:python_timer.py
@Time:2019/10/22 21:25
 
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""
 
# 导入线程模块
import threading
 
def thread_Timer():
  print("该起床啦...5秒之后再次呼叫你起床...")
 
  # 声明全局变量
  global t1
  # 创建并初始化线程
  t1 = threading.Timer(5,thread_Timer)
  # 启动线程
  t1.start()
if __name__ == "__main__":
  # 创建并初始化线程
  t1 = threading.Timer(5, thread_Timer)
  # 启动线程
  t1.start()

输出结果:

该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...
该起床啦...5秒之后再次呼叫你起床...

代码分析:

在主线程创建了线程定时器,在5秒之后执行thread_Timer线程函数,而在thread_Timer函数结束的时候,又设置了定时器线程thread_Timer,这就完成了一个递归的操作,间隔5秒重复定时任务!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python操作mysql数据库
Mar 05 Python
Python网络爬虫与信息提取(实例讲解)
Aug 29 Python
python如何在列表、字典中筛选数据
Mar 19 Python
Python基于辗转相除法求解最大公约数的方法示例
Apr 04 Python
pandas将DataFrame的列变成行索引的方法
Apr 10 Python
pandas把dataframe转成Series,改变列中值的类型方法
Apr 10 Python
Django 迁移、操作数据库的方法
Aug 02 Python
python批量处理文件或文件夹
Jul 28 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
Jan 14 Python
tensorflow自定义激活函数实例
Feb 04 Python
python 决策树算法的实现
Oct 09 Python
python 算法题——快乐数的多种解法
May 27 Python
python线程信号量semaphore使用解析
Nov 30 #Python
Python一行代码解决矩阵旋转的问题
Nov 30 #Python
Numpy之将矩阵拉成向量的实例
Nov 30 #Python
numpy np.newaxis 的实用分享
Nov 30 #Python
Python如何使用函数做字典的值
Nov 30 #Python
关于Numpy中的行向量和列向量详解
Nov 30 #Python
numpy:np.newaxis 实现将行向量转换成列向量
Nov 30 #Python
You might like
php数组总结篇(一)
2008/09/30 PHP
php 批量替换程序的具体实现代码
2013/10/04 PHP
php+mysqli使用面向对象方式更新数据库实例
2015/01/29 PHP
开启PHP的伪静态模式
2015/12/31 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
zend framework重定向方法小结
2016/05/28 PHP
PHP使用PDO操作sqlite数据库应用案例
2019/03/07 PHP
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
2013/06/21 Javascript
超赞的jQuery图片滑块动画特效代码汇总
2016/01/25 Javascript
jquery做个日期选择适用于手机端示例
2017/01/10 Javascript
node.js平台下的mysql数据库配置及连接
2017/03/31 Javascript
JS中正则表达式全局匹配模式 /g用法详解
2017/04/01 Javascript
微信小程序组件之srcoll-view的详解
2017/10/19 Javascript
js 只比较时间大小的实例
2017/10/26 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
跟老齐学Python之关于循环的小伎俩
2014/10/02 Python
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
python numpy 一维数组转变为多维数组的实例
2018/07/02 Python
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
浅谈python新式类和旧式类区别
2019/04/26 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
2020/06/02 Python
基于python获取本地时间并转换时间戳和日期格式
2020/10/27 Python
Brydge英国:适用于Apple iPad和Microsoft Surface Pro的蓝牙键盘
2019/05/16 全球购物
高中毕业生自我鉴定
2013/11/03 职场文书
法务专员岗位职责
2014/01/02 职场文书
单位人事专员介绍信
2014/01/11 职场文书
岗位说明书范文
2014/05/07 职场文书
医学生求职信
2014/07/01 职场文书
慰问信范文
2015/02/14 职场文书
小学校长开学致辞
2015/07/29 职场文书
汽车销售员工作总结
2015/08/12 职场文书
2019年工作总结范文
2019/05/21 职场文书