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中的yield使用方法
Feb 11 Python
python查找目录下指定扩展名的文件实例
Apr 01 Python
python2.7的编码问题与解决方法
Oct 04 Python
Python加密方法小结【md5,base64,sha1】
Jul 13 Python
Python 多线程的实例详解
Sep 07 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
Jan 15 Python
python微信公众号之关注公众号自动回复
Oct 25 Python
python实现爬取百度图片的方法示例
Jul 06 Python
python3实现往mysql中插入datetime类型的数据
Mar 02 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
Mar 06 Python
pandas之分组groupby()的使用整理与总结
Jun 18 Python
python如何实现图片压缩
Sep 11 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
提问的智慧
2006/10/09 PHP
php实现的短网址算法分享
2014/06/20 PHP
学习php设计模式 php实现适配器模式
2015/12/07 PHP
php is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
extJs 下拉框联动实现代码
2010/04/09 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
处理及遍历XML文档DOM元素属性及方法整理
2013/08/23 Javascript
jQuery中remove()方法用法实例
2014/12/25 Javascript
jQuery oLoader实现的加载图片和页面效果
2015/03/14 Javascript
JS实现文字掉落效果的方法
2015/05/06 Javascript
angularjs客户端实现压缩图片文件并上传实例
2015/07/06 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
ClearTimeout消除闪动实例代码
2016/02/29 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
jQuery无缝轮播图代码
2016/12/22 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
2017/02/20 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
2017/12/28 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
python使用xpath中遇到:到底是什么?
2018/01/04 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
Pytorch 实现数据集自定义读取
2020/01/18 Python
Python原始套接字编程实例解析
2020/01/29 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
shell程序中如何注释
2012/02/17 面试题
房屋维修协议书范本
2014/09/25 职场文书
常务副县长“三严三实”对照检查材料思想汇报
2014/10/05 职场文书
2015年教务处干事工作总结
2015/07/22 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
nginx location优先级的深入讲解
2021/03/31 Servers
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL
Python MNIST手写体识别详解与试练
2021/11/07 Python