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中使用zlib模块进行数据压缩的教程
Jun 26 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
Jan 15 Python
numpy.transpose对三维数组的转置方法
Apr 17 Python
终端命令查看TensorFlow版本号及路径的方法
Jun 13 Python
Python修改文件往指定行插入内容的实例
Jan 30 Python
Python常见数字运算操作实例小结
Mar 22 Python
python画图--输出指定像素点的颜色值方法
Jul 03 Python
Pycharm连接远程服务器并实现远程调试的实现
Aug 02 Python
Python面向对象之Web静态服务器
Sep 03 Python
python:动态路由的Flask程序代码
Nov 22 Python
tensorflow指定CPU与GPU运算的方法实现
Apr 21 Python
python中Ansible模块的Playbook的具体使用
May 28 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
php5.3 废弃函数小结
2010/05/16 PHP
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
写一段简单的PHP建立文件夹代码
2015/01/06 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
2016/08/17 PHP
php上传excel表格并获取数据
2017/04/27 PHP
最短的javascript:地址栏载入脚本代码
2011/10/13 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
2014/06/20 Javascript
javascript实现日期时间动态显示示例代码
2015/09/08 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
前后端常见的几种鉴权方式(小结)
2019/08/04 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
javascript History对象原理解析
2020/02/17 Javascript
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
Python3.x对JSON的一些操作示例
2017/09/01 Python
教你用Python创建微信聊天机器人
2020/03/31 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
python实现字符串完美拆分split()的方法
2019/07/16 Python
python制作朋友圈九宫格图片
2019/11/03 Python
基于python实现计算两组数据P值
2020/07/10 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
Eastbay官网:美国最大的运动鞋网络零售商
2016/07/27 全球购物
九年级英语教学反思
2014/01/31 职场文书
党员服务承诺书
2014/05/28 职场文书
机关党员三严三实心得体会
2014/10/13 职场文书
教师节感谢信
2015/01/22 职场文书
道歉信范文
2015/05/12 职场文书
投资申请报告
2015/05/19 职场文书
证婚人致辞精选
2015/07/28 职场文书
宣传部部长竞选稿
2015/11/21 职场文书
大学生团支书竞选稿
2015/11/21 职场文书
2016三八妇女节校园广播稿
2015/12/17 职场文书
Golang 入门 之url 包
2022/05/04 Golang