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解析发往本机的数据包示例 (解析数据包)
Jan 16 Python
深入Python函数编程的一些特性
Apr 13 Python
python代码实现ID3决策树算法
Dec 20 Python
Python3中关于cookie的创建与保存
Oct 21 Python
Pycharm无法显示动态图片的解决方法
Oct 28 Python
Python音频操作工具PyAudio上手教程详解
Jun 26 Python
django连接oracle时setting 配置方法
Aug 29 Python
Django框架创建项目的方法入门教程
Nov 04 Python
简单了解Java Netty Reactor三种线程模型
Apr 26 Python
解决tensorflow读取本地MNITS_data失败的原因
Jun 22 Python
浅析Python 责任链设计模式
Sep 11 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
Jan 24 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
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
2013/12/25 PHP
强制PHP命令行脚本单进程运行的方法
2014/04/15 PHP
php递归实现无限分类的方法
2015/07/28 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
2015/11/05 PHP
php PDO属性设置与操作方法分析
2018/12/27 PHP
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
JavaScript 组件之旅(一)分析和设计
2009/10/28 Javascript
jQuery中ajax的使用与缓存问题的解决方法
2013/12/19 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
JavaScript设计模式之单体模式全面解析
2016/09/09 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
socket.io学习教程之基础介绍(一)
2017/04/29 Javascript
js+html5实现侧滑页面效果
2017/07/15 Javascript
原生js实现拖拽功能基本思路详解
2018/04/18 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
2020/07/27 Javascript
详解JavaScript作用域、作用域链和闭包的用法
2020/09/03 Javascript
[02:48]DOTA2超级联赛专访海涛:你们的选择没有错
2013/06/07 DOTA
[53:20]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 VG vs OG
2018/04/03 DOTA
详解Python 序列化Serialize 和 反序列化Deserialize
2017/08/20 Python
Scrapy-Redis结合POST请求获取数据的方法示例
2019/05/07 Python
详解Python self 参数
2019/08/30 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
30行Python代码实现高分辨率图像导航的方法
2020/05/22 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
2020/05/25 Python
CSS3实现银灰色动画效果的导航菜单代码
2015/09/01 HTML / CSS
萌新HTML5 入门指南(二)
2020/11/09 HTML / CSS
京东全球售:直邮香港,澳门,台湾,美国,澳大利亚等地区
2017/09/24 全球购物
了解AppleTalk协议吗
2014/04/01 面试题
优秀中专生推荐信
2013/11/17 职场文书
烟台的海导游词
2015/02/02 职场文书
武侯祠导游词
2015/02/04 职场文书
毕业生爱心捐书倡议书
2015/04/27 职场文书
学校元旦晚会开场白
2015/05/29 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书