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 smallseg分词用法实例分析
May 28 Python
python微信跳一跳系列之棋子定位颜色识别
Feb 26 Python
在IPython中进行Python程序执行时间的测量方法
Nov 01 Python
python word转pdf代码实例
Aug 16 Python
python TK库简单应用(实时显示子进程输出)
Oct 29 Python
Python selenium的基本使用方法分析
Dec 21 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
May 03 Python
没编程基础可以学python吗
Jun 17 Python
解决c++调用python中文乱码问题
Jul 29 Python
Python Opencv图像处理基本操作代码详解
Aug 31 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
Sep 16 Python
Python语言中的数据类型-序列
Feb 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
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
Javascript 面向对象 命名空间
2010/05/13 Javascript
jquery 插件开发备注
2010/08/27 Javascript
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
2011/03/10 Javascript
使用iframe window的scroll方法控制iframe页面滚动
2014/03/05 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
AngularJS ng-app 指令实例详解
2016/07/30 Javascript
如何在Angular.JS中接收并下载PDF
2016/11/26 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
详解react如何在组件中获取路由参数
2017/06/15 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
2017/09/12 Javascript
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
对angularJs中2种自定义服务的实例讲解
2018/09/30 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
小程序实现列表展开收起效果
2020/07/29 Javascript
Python实现端口复用实例代码
2014/07/03 Python
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
2018/11/14 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
Django框架使用内置方法实现登录功能详解
2019/06/12 Python
OpenCV 模板匹配
2019/07/10 Python
浅析Python __name__ 是什么
2020/07/07 Python
python 基于opencv操作摄像头
2020/12/24 Python
Python plt 利用subplot 实现在一张画布同时画多张图
2021/02/26 Python
美国正版电视节目和电影在线观看:Hulu
2018/05/24 全球购物
Java语言的优势
2015/01/10 面试题
订货会邀请函
2015/01/31 职场文书
本溪关门山导游词
2015/02/09 职场文书
安全知识竞赛主持词
2015/06/30 职场文书
Java内存模型之happens-before概念详解
2021/06/13 Java/Android
python百行代码实现汉服圈图片爬取
2021/11/23 Python
golang的文件创建及读写操作
2022/04/14 Golang