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中的多重装饰器
Apr 11 Python
python使用urllib2实现发送带cookie的请求
Apr 28 Python
在Python中移动目录结构的方法
Jan 31 Python
Python实现统计文本文件字数的方法
May 05 Python
Python数字图像处理之霍夫线变换实现详解
Jan 12 Python
Python中的pack和unpack的使用
Mar 12 Python
Pandas标记删除重复记录的方法
Apr 08 Python
python向已存在的excel中新增表,不覆盖原数据的实例
May 02 Python
Python之时间和日期使用小结
Feb 14 Python
django 单表操作实例详解
Jul 30 Python
python_array[0][0]与array[0,0]的区别详解
Feb 18 Python
Python集合的基础操作
Nov 01 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通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
功能强大的php分页函数
2016/07/20 PHP
yii框架搜索分页modle写法
2016/12/19 PHP
php封装的验证码类分享
2017/02/26 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
防止jQuery ajax Load使用缓存的方法小结
2014/02/22 Javascript
用简洁的jQuery方法toggleClass实现隔行换色
2014/10/22 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
利用JS轻松实现获取表单数据
2016/12/06 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
Python实现list反转实例汇总
2014/11/11 Python
python实现超市商品销售管理系统
2019/10/25 Python
Python基于内置库pytesseract实现图片验证码识别功能
2020/02/24 Python
Python函数参数分类原理详解
2020/05/28 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
Stuart Weitzman美国官网:美国奢华鞋履品牌
2016/08/18 全球购物
Abe’s of Maine:自1979以来销售相机和电子产品
2016/11/21 全球购物
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
俄罗斯游戏商店:Buka
2020/03/01 全球购物
航空大学应届生求职信
2013/11/10 职场文书
教师演讲稿范文
2014/01/08 职场文书
消防应急演练方案
2014/02/12 职场文书
机械操作工岗位职责
2014/08/08 职场文书
毕业实习感受与体会
2015/05/26 职场文书
大学军训口号大全
2015/12/24 职场文书
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS
nginx七层负载均衡配置详解
2022/07/15 Servers