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中内置的itertools模块
Apr 29 Python
Python IDE PyCharm的基本快捷键和配置简介
Nov 04 Python
Python中time模块与datetime模块在使用中的不同之处
Nov 24 Python
Python argv用法详解
Jan 08 Python
Python2.7下安装Scrapy框架步骤教程
Dec 22 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
Dec 28 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
Jul 09 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
Oct 17 Python
Python二维数组实现求出3*3矩阵对角线元素的和示例
Nov 29 Python
Python 存取npy格式数据实例
Jul 01 Python
Appium+Python实现简单的自动化登录测试的实现
Jan 26 Python
Pandas-DataFrame知识点汇总
Mar 16 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中MVC结构学习
2006/10/09 PHP
PHP IF ELSE简化/三元一次式的使用
2011/08/22 PHP
基于PHP编程注意事项的小结
2013/04/27 PHP
php实现快速排序的三种方法分享
2014/03/12 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
PHPExcel在linux环境下导出报500错误的解决方法
2017/01/26 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
php扩展开发入门demo示例
2019/09/23 PHP
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
jquery 1.4.2发布!主要是性能与API
2010/02/25 Javascript
js最简单的拖拽效果实现代码
2010/09/24 Javascript
jquery实现网页查找功能示例分享
2014/02/12 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
js实现悬浮窗效果(支持拖动)
2017/03/09 Javascript
javascript ES6 新增了let命令使用介绍
2017/07/07 Javascript
JavaScript惰性求值的一种实现方法示例
2019/01/11 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
vue+elementUI实现简单日历功能
2020/09/24 Javascript
详解Python Socket网络编程
2016/01/05 Python
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
Python+OpenCV实现实时眼动追踪的示例代码
2019/11/11 Python
HTML5不支持标签和新增标签详解
2016/06/27 HTML / CSS
Sunglasses Shop荷兰站:英国最大的太阳镜独立在线零售商和供应商
2017/01/08 全球购物
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
Wallis官网:英国女装零售商
2020/01/21 全球购物
上海方立数码笔试题
2013/10/18 面试题
岗位竞聘演讲稿
2014/01/10 职场文书
党员创先争优公开承诺书
2014/03/28 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
2014年团总支工作总结
2014/11/21 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书
Nginx 根据URL带的参数转发的实现
2021/04/01 Servers
MySQL 存储过程的优缺点分析
2021/05/20 MySQL
Django drf请求模块源码解析
2021/06/08 Python
用Python将GIF动图分解成多张静态图片
2021/06/11 Python