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的Tornado框架中内置的模板引擎
Jul 11 Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
Sep 19 Python
pandas DataFrame数据转为list的方法
Apr 11 Python
对django中render()与render_to_response()的区别详解
Oct 16 Python
python多进程读图提取特征存npy
May 21 Python
在python中实现同行输入/接收多个数据的示例
Jul 20 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
Oct 14 Python
Python如何使用argparse模块处理命令行参数
Dec 11 Python
python 输出列表元素实例(以空格/逗号为分隔符)
Dec 25 Python
在pytorch中对非叶节点的变量计算梯度实例
Jan 10 Python
Jupyter notebook 远程配置及SSL加密教程
Apr 14 Python
Python数据模型与Python对象模型的相关总结
Jan 26 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 无限级缓存的类的扩展
2009/03/16 PHP
ThinkPHP权限认证Auth实例详解
2014/07/22 PHP
用php代码限制国内IP访问我们网站
2015/09/26 PHP
项目中应用Redis+Php的场景
2016/05/22 PHP
iOS10推送通知开发教程
2016/09/19 PHP
thinkphp关于简单的权限判定方法
2017/04/03 PHP
Laravel 模型关联基础教程详解
2019/09/17 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
JavaScript返回网页中锚点数目的方法
2015/04/03 Javascript
js绘制圆形和矩形的方法
2015/08/05 Javascript
jQuery简单实现列表隐藏和显示效果示例
2016/09/12 Javascript
原生js实现下拉框功能(支持键盘事件)
2017/01/13 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
从零开始最小实现react服务器渲染详解
2018/01/26 Javascript
vue.js将时间戳转化为日期格式的实现代码
2018/06/05 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
2020/07/24 Javascript
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
Python中optparse模块使用浅析
2015/01/01 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
Python面试题:Python里面如何生成随机数
2015/03/12 面试题
工业自动化专业毕业生推荐信
2013/11/18 职场文书
简短大学毕业感言
2014/01/18 职场文书
2014年大学生党课心得体会范文
2014/03/29 职场文书
教师求职信
2014/06/17 职场文书
团员个人年度总结
2015/02/26 职场文书
2016年寒假见闻
2015/10/10 职场文书
MySQL配置主从服务器(一主多从)
2021/08/07 MySQL
Python字符串的转义字符
2022/04/07 Python
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android